A
Olympiad

输出除0以外的数字种数即可。

B
Vile Grasshoppers

猜想答案离y不会很远。暴力枚举答案, $O(\sqrt n)$验证,如果有因数落在区间$[2,p]$里就不合法。

C
Save Energy!

二分答案搞一搞。

D
Sleepy Game

如果走到一个出度为零而且该对面走的点p就赢了。如果有环就可以平局。否则就输了。

找到点p之后往回走走到起始点就行了,记录下这条路径。

E
Lock Puzzle

先坑着。

 1 #include<cstdio>
 2 #include<iostream>
 3 #include<set>
 4 using namespace std;
 5 int main() {
 6     set < int > s;
 7     int n; scanf("%d", &n);
 8     for (int i = 0, t; i < n; ++i) {
 9         scanf("%d", &t);
10         if (t) s.insert(t);
11     }
12     cout << s.size();
13     return 0;
14 }

A

 1 #include<cstdio>
 2 #include<iostream>
 3 using namespace std;
 4 int p, y;
 5 bool check(int x) {
 6     for (int i = 1; i * i <= x; ++i) if (x % i == 0) {
 7         if (i >= 2 && i <= p) return false;
 8         if (x / i >= 2 && x / i <= p) return false;
 9     }
10     return true;
11 }
12 int main() {
13     cin >> p >> y;
14     int ans = -1;
15     for (int i = y; i >= max(2, y - 2000); --i) {
16         if (check(i)) {
17             ans = i; break;
18         }
19     }
20     printf("%d\n", ans);
21     return 0;
22 }

B

 1 #include<cstdio>
 2 #include<cmath>
 3 #include<iostream>
 4 using namespace std;
 5 typedef double db;
 6 typedef long long ll;
 7 ll k, d, t, T, x1, x2;
 8 bool check(db x) {
 9     ll p = (ll)x / T;
10     db a = x1 * p, b = x2 * p;
11     x -= p * T;
12     a += min(x, (db)x1);
13     x -= x1;
14     b += max(.0, x);
15     return a * 2 + b >= t * 2;
16 }
17 int main() {
18     cin >> k >> d >> t;
19     T = (k + d - 1) / d * d;
20     x1 = (k / d) * d + (k % d);
21     x2 = T - x1;
22     double l = 0, r = t * 2;
23     for (int i = 0; i < 1000; ++i) {
24         double m = (l + r) / 2;
25         if (check(m)) r = m;
26         else l = m;
27     }
28     printf("%.15lf\n", l);
29     return 0;
30 }

C

 1 #include<queue>
 2 #include<cstdio>
 3 #include<vector>
 4 #include<iostream>
 5 #define pb push_back
 6 #define mp make_pair
 7 using namespace std;
 8 const int N = 100005;
 9 int n, m, vis[N][2], out[N], vs[N], son[N][2];
10 vector < int > g[N], r[N];
11 void dfs(int u, int d) {
12     vis[u][d] = 1;
13     for (int v, i = 0; i < g[u].size(); ++i) {
14         v = g[u][i];
15         if (!vis[v][!d]) dfs(v, !d);
16     }
17 }
18 bool dfs(int u) {
19     if (vs[u]) return true;
20     vs[u] = 1;
21     for (int i = 0; i < g[u].size(); ++i)
22         if (dfs(g[u][i])) return true;
23     vs[u] = 0;
24     return false;
25 }
26 bool circle() {
27     return dfs(m);
28 }
29 int main() {
30     scanf("%d%d", &n, &m);
31     for (int c, i = 1; i <= n; ++i) {
32         scanf("%d", &c); out[i] = c;
33         for (int t; c--;) {
34             scanf("%d", &t);
35             g[i].pb(t);
36             r[t].pb(i);
37         }
38     }
39     scanf("%d", &m);
40     dfs(m, 0);
41     int p = 0;
42     for (int i = 1; i <= n; ++i) if (!out[i]) {
43         if (vis[i][1]) {p = i; break;}
44     }
45     if (p) {
46         queue < pair < int , int > > q;
47         q.push(mp(p, 1));
48         while (!q.empty()) {
49             int u = q.front().first, s = q.front().second; q.pop();
50             for (int i = 0; i < r[u].size(); ++i) {
51                 int v = r[u][i];
52                 if (vis[v][!s] && !son[v][!s]) {
53                     son[v][!s] = u; q.push(mp(v, !s));
54                 }
55             }
56         }
57         puts("Win");
58         for (int u = m, s = 1; u; s ^= 1, u = son[u][s]) {
59             printf("%d ", u);
60         } printf("\n");
61     } else {
62         if (circle()) puts("Draw");
63         else puts("Lose");
64     }
65     return 0;
66 }

D

转载于:https://www.cnblogs.com/p0ny/p/8472467.html

Codeforces Round #467 (Div. 2)相关推荐

  1. Codeforces Round #467 (Div. 1): C. Lock Puzzle(构造)

    题目链接:http://codeforces.com/contest/936/problem/C 题意:给你一个起始字符串和一个目标字符串,你只有一种操作:选择一个数x,将后x个字母翻转,然后提取出来 ...

  2. Codeforces Round #467 (Div. 1): A. Save Energy!(公式)

    题意:Julia准备用她刚买的炉子煮鸡蛋,这个炉子开启之后会进入加热状态,但是k分钟之后就会自动停止并进入保温状态,在加热状态下鸡蛋会每秒获得2点热量,在保温状态下鸡蛋只会每秒获得1点热量,Julin ...

  3. Codeforces Round #467 (Div. 1): B. Sleepy Game(BFS+有向图判环)

    题意(经过转换):给你一个n个点m条边的有向图,再给你一个起点x,问存不存在一条路径满足①路径中有奇数条边:②终点的出度为0,如果存在输出Win,并在第二行输出这个路径(可能不唯一输出任意一种),否则 ...

  4. Codeforces Round #748 (Div. 3) 题解 完整A~G

    Codeforces Round #748 (Div. 3) 题解 A. Elections 题意 已知竞选中三个候选人的当前得票数 a , b , c a,b,c a,b,c,现在可以增加任何一个人 ...

  5. Codeforces Round #506 (Div. 3)

    Codeforces Round #506 (Div. 3) 实习期间事不多,对div3 面向题解和数据编程了一波 A. Many Equal Substrings 题目链接 A题就是找后缀和前缀重合 ...

  6. Codeforces Round #563 (Div. 2)/CF1174

    Codeforces Round #563 (Div. 2)/CF1174 CF1174A Ehab Fails to Be Thanos 其实就是要\(\sum\limits_{i=1}^n a_i ...

  7. 构造 Codeforces Round #302 (Div. 2) B Sea and Islands

    题目传送门 1 /* 2 题意:在n^n的海洋里是否有k块陆地 3 构造算法:按奇偶性来判断,k小于等于所有点数的一半,交叉输出L/S 4 输出完k个L后,之后全部输出S:) 5 5 10 的例子可以 ...

  8. Codeforces Round #696 (Div. 2) (A ~ E)超高质量题解(每日训练 Day.16 )

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Codeforces Round #696 (Div. 2) (A ~ E)超高质量题解 比赛链接:h ...

  9. Codeforces Round #712 Div.2(A ~ F) 超高质量题解(每日训练 Day.15 )

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Codeforces Round #712 Div.2(A ~ F) 题解 比赛链接:https:// ...

最新文章

  1. linux 性能测试 antutu,除了安兔兔跑分,还有这6种办法能证明手机强弱
  2. flask基础之LocalProxy代理对象(八)
  3. jenkins再不同操作系统上的安装教程
  4. 基于op07的k型热电偶测量电路_基于OP07和LTC1543温度采集模块的设计
  5. 常用算法1 - 快速排序 二分查找
  6. 随机游走问题的神奇应用(二)
  7. mysql concat 能否返回数字_关于Mysql中GROUP_CONCAT函数返回值长度的坑
  8. CAXA图文档2007服务器端,CAXA图文档客户端系统管理员操作.doc
  9. SAS和SATA它两的相同点与不同点
  10. 与“鸡”对话的时代孤独
  11. [terry笔记]Python字符串
  12. python tkinter滚动条不起作用_水平滚动条在Tkin中不起作用
  13. 什么是SCRM 客户scrm管理系统 - whale 帷幄
  14. 如何判断选择专业数字功放芯片
  15. 机器视觉中的光源选型
  16. Android AES 加密、解密
  17. IPv6的被请求节点的组播地址
  18. 天气灾害预警 API接口 查询灾害预警内容
  19. 音频插件包:Unfiltered Audio Plugins Bundle for Mac
  20. Allan Variance

热门文章

  1. Spring源码学习笔记:Spring设计模式对比和Spring的OOB,BOP,AOP,IOC,DI/DL
  2. [swift] LeetCode 62. Unique Paths
  3. L1-042 日期格式化-PAT团体程序设计天梯赛GPLT
  4. 蓝桥杯 ADV-127 算法提高 日期计算
  5. 蓝桥杯 ALGO-122 算法训练 未名湖边的烦恼
  6. 1032. Sharing (25)-PAT甲级真题
  7. angular要多久学会_成为优秀Angular开发者所需要学习的19件事
  8. 11.Axis客户端接收不同参数类型
  9. Android自定义View之paint(一)
  10. Parasoft C++test使用教程:执行测试用例(上)