png tor 内存 urn 长度 技术 cnblogs space
★★☆ 输入文件:
输出文件:
- ha14d.in
简单对比 时间限制:1 s 内存限制:256 MB
- ha14d.out
Bytetown 城市要进行市长竞选,所有的选民可以畅所欲言地对竞选市长的候选人发表言论。为了统一管理,城市委员会为选民准备了一个张贴海报的 electoral 墙。
张贴规则如下:
1.electoral 墙是一个长度为 N 个单位的长方形,每个单位记为一个格子;
2.所有张贴的海报的高度必须与 electoral 墙的高度一致的;
3.每张海报以 "A B" 表示,即从第 A 个格子到第 B 个格子张贴海报;
4.后贴的海报可以覆盖前面已贴的海报或部分海报。
现在请你判断,张贴完所有海报后,在 electoral 墙上还可以看见多少张海报。
第一行: N M 分别表示 electoral 墙的长度和海报个数
接下来 M 行: Ai Bi 表示每张海报张贴的位置
输出贴完所有海报后,在 electoral 墙上还可以看见的海报数。
100 5
1 4
2 6
8 10
3 4
7 10
4
【约束条件】
1 0<= N <= 10000000 1<=M<=1000 1<= Ai <= Bi <=10000000
所有的数据都是整数。数据之间有一个空格
正解树状数组(线段树???),暴力 52 分(cogs),AC(luogu):
- 1#include 2#include 3#include 4#include 5#include 6#include < string > 7 8 using namespace std;
- 9 const int N = 10000010;
- 10 11 inline int read() 12 {
- 13 int x = 0,
- f = 1;
- 14 char c = getchar();
- 15
- while (c < '0' || c > '9') {
- if (c == ' - ') f = -1;
- c = getchar();
- }
- 16
- while (c >= '0' && c <= '9') x = x * 10 + c - '0',
- c = getchar();
- 17
- return x * f;
- 18
- }
- 19 20 int vis[N];
- 21 22 int main() 23 {
- 24 25 freopen("ha14d.in", "r", stdin);
- 26 freopen("ha14d.out", "w", stdout);
- 27 int n = read();
- 28 int m = read();
- 29
- for (int i = 1; i <= m; i++) 30 {
- 31 int u = read();
- 32 int v = read();
- 33
- for (int j = u; j <= v; j++) 34 {
- 35 vis[j] = i;
- 36
- }
- 37
- }
- 38 int Answer = 0;
- 39
- for (int i = 1; i <= m; i++) 40 {
- 41 bool flag = 1;
- 42
- for (int j = 1; j <= n && flag; j++) 43 {
- 44
- if (vis[j] == i) 45 {
- 46 Answer++;
- 47 flag = 0;
- 48
- }
- 49
- }
- 50
- }
- 51 52 printf("%d", Answer);
- 53 54
- return 0;
- 55
- }
cogs 1682. [HAOI2014] 贴海报 WW
来源: http://www.bubuko.com/infodetail-2089359.html