【codeforces】Codeforces Round #366 (Div. 2)
来源:互联网 发布:javascript 运算 编辑:程序博客网 时间:2024/05/18 12:37
简直中了不能A C题的诅咒了……
md这次二十分钟做完B结果还是没能A C题
药丸……
B
题目大意
进行n局游戏,每一局规则如下
两名玩家以次选一个大于一数字进行拆分,将他拆成k和a[i]-k,先手胜输出1否则输出2
第i局为在第i-1局的基础上增加一个a[i]
小博弈?
本着不增加环的原则,我们将环拆成a[i]-1和1(不知道这样好不好……),那么就只和奇偶性有关了
然后恩恩
随便异或一下……
凑过样例也就凑过了所有数据……
mdzz
不过博弈论我实在是不想想……
233333333
#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>using namespace std;const int MAXN = 100000 + 5;int n;int ans,tmp;int main(){ scanf("%d",&n); for(int i = 1;i <= n;i ++) { scanf("%d",&tmp); tmp = (tmp + 1) % 2; ans ^= tmp; if(ans) puts("1"); else puts("2"); } return 0;}
C
题目大意
有n个应用Q个操作,每个操作格式如下
1、1 x 应用x发来了一条消息
2、2 x 阅读应用x的所有消息
3、3 t 阅读前t条消息
……
蛮水的题,模拟就好
但是要注意这个和手机的不同点是 阅读完了之后消息不会消失
本来是想着每一个点开一个队列……
╮(╯▽╰)╭
复杂度算错了
嘛嘛
就这样了
#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#include <vector>using namespace std;const int MAXN = 300000 + 5;vector <int> app;int num[MAXN];int old[MAXN],older;int n,Q;int q,x;int killed = -1;int main(){ scanf("%d %d",&n,&Q); while(Q --) { scanf("%d %d",&q,&x); switch(q) { case 1: app.push_back(x); num[x]++; break; case 2: old[x] += num[x]; older += num[x]; num[x] = 0; break; case 3: for(int i = killed + 1;i < x;i ++) { if(old[app[i]]) { old[app[i]] --; older--; killed ++; } else { num[app[i]]--; killed ++; } } break; } printf("%d\n",app.size() - killed - older - 1); } return 0;}
D
题目大意
//蚁人可以变大变小且不花费时间
现在有n张编好号的椅子,蚁人在椅子上跳来跳去,他想从s跳到e上并且在这个过程中每个椅子都需要到达并且只到达一次
他只能在椅子上变大/变小(就是不能飞到一半突然变化)
蚁人有个习惯,如果他想往左跳(就是往小的编号跳的话),他必须变小,反之必须变大
将每一次跳跃分成三步
1、跳起来
2、平动
3、落下
在大的时候到某个椅子上降落的时间是
在小的时候到某个椅子上降落的时间是
在大的时候从某个椅子上跳起的时间是
在大的时候从某个椅子上跳起的时间是
平动的时间是
先输入n,s,e
第二行是a
第三行是b
第四行是c
第五行是d
完全没有头绪的题……
我试着翻译题解吧
将它简化为TSP是容易的,我们需要找到从s到e的最短哈密顿路
考虑到要优化答案,因此这个图是一个有向图
考虑由前i把椅子构成的生成图(生成子图?导图?图论的属于真不懂……),在这个子图中,有一些部分,每一个部分都形成了一条有向路径,在这些图中,有这样三条情况
1、未来(i右边的椅子)的点,可以进入这个集合,也可以从这个集合出去到未来的节点上
2、未来(i右边的椅子)的点,只能进这个集合,但是从这个集合出不去(包含了终点e)
3、未来(i右边的椅子)的点,只能从这个集合出去不能从这个集合进来
……
什么玩意……
就这个意思……
然后 dp[i][j][k][l] = 前i个点,有j个1类路径,有k个2类路径,有l个三类路径时候遍历前i个点用的最短时间
要注意这里会包含比仅仅获得答案更多的信息,举例来说,当我们添加一个新的节点i进入dp时,我们计算d[i]或者-x[i],而不是j(如题目描述,当i
- 【codeforces】Codeforces Round #366 (Div. 2)
- Codeforces Round #366 (Div. 2)
- Codeforces Round #366 (Div. 2)
- Codeforces Round #366 (Div. 2)
- Codeforces Round #366 (Div. 2)
- Codeforces Round #366 (Div. 2)
- Codeforces Round #366 (Div. 2)
- Codeforces Round #366 (Div. 2)
- Codeforces Round #366 (Div. 2)
- Codeforces Round #366 (Div. 2)题解报告
- Codeforces Round #366 (Div. 2) 题解
- Codeforces Round #366 (Div. 2) C. Thor
- Codeforces Round #366 (Div. 2) C. Thor
- Codeforces Round #366 (Div. 2) C list
- Codeforces Round #366 (Div. 2) Thor
- Codeforces Round #366 (Div. 2)C
- Codeforces Round #366 (Div. 2)B
- Codeforces Round #366 (Div. 2) A. Hulk
- Linux入门:常用命令:环境变量
- 不用jquery等框架/库,查找一个页面上有多少种标签,并计算每种标签的个数
- iOS10字体不适配
- Struts2的那点小事—从零学起
- 蚁群优化算法(ACO)
- 【codeforces】Codeforces Round #366 (Div. 2)
- R包简单教程
- web前端-HTML图像-010
- app处于某页面一段时间重新请求服务器报token校验500问题--dbcp连接池(testQuery/validationQuery)
- HTML表单
- 一致性hash算法
- git代码管理简单总结之代码管理
- 项目随记——SharePoint 2003
- Poj 3921 Destroying the bus stations【最小费用流】