T1

Problem

洛谷

Solution

枚举那个点的位置,再O(n)扫一遍求出覆盖的公共场合的数量。。。

所以时间复杂度为O(128 * 128 * n)

Code

  1. #include<cmath>
  2. #include<cstdio>
  3. #include<cstring>
  4. #include<iostream>
  5. #include<algorithm>
  6. using namespace std;
  7. #define ll long long
  8. int x[25], y[25], val[25];
  9. ll read()
  10. {
  11. ll ans = 0; int zf = 1; char ch;
  12. while (ch != '-' && (ch < '0' || ch > '9')) ch = getchar();
  13. if (ch == '-') zf = -1, ch = getchar();
  14. while (ch >= '0' && ch <= '9') ans = ans * 10 + ch - '0', ch = getchar();
  15. return ans * zf;
  16. }
  17. int main()
  18. {
  19. int d = read(), n = read(), maxnum = 0, maxX = 0;
  20. for (int i = 1; i <= n; i++) x[i] = read(), y[i] = read(), val[i] = read();
  21. for (int xx = 0; xx <= 128; xx++)
  22. for (int yy = 0; yy <= 128; yy++)
  23. {
  24. int num = 0;
  25. for (int i = 1; i <= n; i++)
  26. if (x[i] >= xx - d && x[i] <= xx + d && y[i] >= yy - d && y[i] <= yy + d)
  27. num += val[i];
  28. if (num > maxX)
  29. {
  30. maxX = num;
  31. maxnum = 1;
  32. }
  33. else if (num == maxX) maxnum++;
  34. }
  35. printf("%d %d\n", maxnum, maxX);
  36. }

T2

Problem

洛谷

Solution

注意读入时连是反向边比较好处理。一下都是按反向边处理的。

先一遍dfs把不能够连到t的点找出来,再把这些点能连到得点也标记掉(也就是原来连着这些点的点)。

最后没被标记的点做一次bfs就好了。

Code

  1. #include<cmath>
  2. #include<cstdio>
  3. #include<queue>
  4. #include<cstring>
  5. #include<iostream>
  6. #include<algorithm>
  7. using namespace std;
  8. #define ll long long
  9. queue <int> q;
  10. ll read()
  11. {
  12. ll ans = 0; int zf = 1; char ch;
  13. while (ch != '-' && (ch < '0' || ch > '9')) ch = getchar();
  14. if (ch == '-') zf = -1, ch = getchar();
  15. while (ch >= '0' && ch <= '9') ans = ans * 10 + ch - '0', ch = getchar();
  16. return ans * zf;
  17. }
  18. int vet[400005], head[10005], nextx[400005];
  19. int dis[10005], flag[10005], vis[10005];
  20. int num = 0, n, m;
  21. void add(int u, int v)
  22. {
  23. vet[++num] = v;
  24. nextx[num] = head[u];
  25. head[u] = num;
  26. }
  27. void bfs(int s, int t)
  28. {
  29. for (int i = 1; i <= n; i++) dis[i] = 2000000000, vis[i] = 0;
  30. dis[s] = 0;
  31. vis[s] = 1;
  32. q.push(s);
  33. while (!q.empty())
  34. {
  35. int u = q.front();
  36. q.pop();
  37. vis[u] = 0;
  38. for (int i = head[u]; i; i = nextx[i])
  39. {
  40. if (!vis[vet[i]] && flag[vet[i]] == 1)
  41. {
  42. int v = vet[i];
  43. dis[v] = min(dis[v], dis[u] + 1);
  44. q.push(v);
  45. vis[v] = 1;
  46. if (v == t)
  47. {
  48. printf("%d\n", dis[v]);
  49. return;
  50. }
  51. }
  52. }
  53. }
  54. printf("-1\n");
  55. }
  56. void dfs(int u)
  57. {
  58. flag[u] = 1;
  59. for (int i = head[u]; i; i = nextx[i])
  60. if (!flag[vet[i]])
  61. dfs(vet[i]);
  62. }
  63. int main()
  64. {
  65. n = read(), m = read();
  66. for (int i = 1; i <= m; i++)
  67. {
  68. int x = read(), y = read();
  69. add(y, x);
  70. }
  71. int s = read(), t = read();
  72. dfs(t);
  73. for (int i = 1; i <= n; i++)
  74. if (flag[i] == 0)
  75. for (int j = head[i]; j; j = nextx[j])
  76. flag[vet[j]] = -1;
  77. bfs(t, s);
  78. }

[NOIP2014D2]的更多相关文章

随机推荐

  1. poj 1321 棋盘问题 (DFS深度优先搜索)

    Problem Description 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别.要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋 ...

  2. ace-editor线上代码编辑器

    package.json { "name": "vue-cli", "version": "1.0.0", " ...

  3. python多环境下虚拟环境的搭建和使用

    由于开发环境要求,或者实际需要.经常会出现python2.7和python3.x共存下的开发环境问题.虚拟环境的搭建可以很好的隔离Projects的开发环境. 1.首先解决python2.7和pyth ...

  4. @keyframs实现图片gif效果

    页面中使用动效图 一般让设计出一个gif格式的图,但是git图效果都很差,有一个替代gif图做动效的方法:使用@keyframes 具体思路: 1.设计两个互斥的图片(相当于把gif图分割成一帧一帧的 ...

  5. 决策树算法原理(CART分类树)

    决策树算法原理(ID3,C4.5) CART回归树 决策树的剪枝 在决策树算法原理(ID3,C4.5)中,提到C4.5的不足,比如模型是用较为复杂的熵来度量,使用了相对较为复杂的多叉树,只能处理分类不 ...

  6. 使用Bootstrap Bar来增加Onboarding Progress Bar功能。

    git初始代码https://github.com/chentianwei411/at-mentions-with-action-text 首先,开分支onboardingbar. 然后, rails ...

  7. 运维案例 | Exchange2010数据库损坏的紧急修复思路

    ​​关注嘉为科技,获取运维新知 Exchange后端数据库故障,一般都会是比较严重的紧急故障,因为这会直接影响到大面积用户的正常使用,而且涉及到用户数据.一旦遇到这种级别的故障,管理员往往都是在非常紧 ...

  8. Kotlin 随笔小计

    最近准备学Kotlin 现在Kotlin也能支持IOS开发了,准备后面买个Mac也能进行IOS开发 当然目标还是看着能不能把一些小的Android项目重构下 也算是定个目标吧,由于沉迷吃鸡,日志都没怎 ...

  9. web前端常见面试题

    转载自:https://www.cnblogs.com/jj-z/p/7999538.html 一.理论知识 1.1.讲讲输入完网址按下回车,到看到网页这个过程中发生了什么 a. 域名解析 b. 发起 ...

  10. python内置函数详细描述与实例演示

    python有许多内置函数,列出表格如下 内置函数 abs() delattr() hash() memoryview() set() all() dict() help() min() setatt ...