2017国家集训队作业[agc014d]Black and White Tree 题意: ​ 有一颗n个点的树,刚开始每个点都没有颜色.Alice和Bob会轮流对这棵树的一个点涂色,Alice涂白,Bob涂黑,Alice先手.若最后存在一个白点,使得这个白点所有相邻点都为白色,则Alice胜,否则Bob胜.请问是先手必胜还是后手必胜.(点数\(N\le10^5\)) 题解: ​ 显然先手使用贪心的策略,使后手被迫操作.(别听这个沙茶,他推了半小时才发现)观察发现若一个点有多个儿子是叶子节点,此时…
2017国家集训队作业Atcoder题目试做 虽然远没有达到这个水平,但是据说Atcoder思维难度大,代码难度小,适合我这种不会打字的选手,所以试着做一做 不知道能做几题啊 在完全自己做出来的题前面打"√" 计数器菌:11/104 agc001_d 如果两个字符确定相等就在中间连一条边,那么所有字符相同就等价于使整个图联通 然后发现至少要\(n-1\)条边,而事实上一个序列贡献的边数最大为\(\frac n 2\)条,而且一旦序列里有一个奇数贡献的边数就会减去\(\frac 1 2\…
2017国家集训队作业[agc016b]Color Hats 题意: 有\(N\)个人,每个人有一顶帽子.帽子有不同的颜色.现在,每个人都告诉你,他看到的所有其它人的帽子共有多少种颜色,问有没有符合所有人的描述的情况.(\(N\leq 10^5\)) 题解: 网上有很多题解.我在这里讲讲我在场上打表的心路历程. 话说我最后半小时终于从\(T2\)的泥潭中脱困,看到这题,打了个表: 3 1 1 1 1 2 2 2 2 2 4 1 1 1 1 1 2 2 2 2 2 2 2 2 2 3 3 3 3…
2017国家集训队作业[agc016e]Poor Turkey 题意: 一开始有\(N\)只鸡是活着的,有\(M\)个时刻,每个时刻有两个数\(X_i,Y_i\),表示在第\(i\)个时刻在\(X_i,Y_i\)之中选出一只还活着的鸡乃伊组特,如果两只鸡在这之前就已经被干掉,保持原状.问:\(M\)个时刻后有多少对鸡可能同时存活?(\(N\leq400,M\leq 10^5\)) 题解: 容易发现一只鸡在每一个决策中不被选中的必要条件,就是要么这个决策没有它这个选项,要么就是另一只鸡在此之前也没…
2017国家集训队作业[agc006f]Blackout 题意: 有一个\(N*N\)的网格,一开始有\(M\)个格子被涂黑,给出这\(M\)个格子,和染色操作:如果有坐标为\((x,y),(y,z)\)的格子已被染黑,那么就可以染黑坐标为\((y,z)\)的格子.问操作到不能再操作的时候,网格里有多少个黑格子?(\(1\le N,M\le 10^5\),最开始给出的\(M\)个坐标互不相同) 题解: 在场上签到签了两个小时,看到这题一脸懵逼.= =!大概想到是把形如\((x,y),(y,z)\…
2017国家集训队作业[agc004f]Namori 题意: 给你一颗树或环套树,树上有\(N\)个点,有\(M\)条边.一开始,树上的点都是白色,一次操作可以选择一条端点颜色相同的边,使它的端点颜色同时取反,即白色变成黑色或黑色变成白色.问,最少需要几次操作才可以把整棵树都涂成黑色?(\(N\leq10^5,N-1\le M\le N\)) 题解: 参考:https://blog.csdn.net/werkeytom_ftd/article/details/78393489 我们把深度为奇数的…
2017国家集训队作业[arc082d]Sandglass 题意: ​ 有一个沙漏,初始时\(A\)瓶在上方,两个瓶子的最大容量都为\(X\)克,沙子流动的速度为\(1g\)每单位时间.给出\(K\)个时间点\(r_1\sim r_K\)表示在这几个时间点,漏斗会上下翻转,无视翻转时间.给出\(Q\)个询问,每个询问两个数\(t_i,a_i\),表示若初始时\(A\)瓶有\(a_i\)克沙子,询问第\(t_i\)单位时间时,\(A\)瓶中会有多少克沙子?(\(X,t_i,r_i\leq 10^9…
2017国家集训队作业[arc076d/f][Exhausted?] 题意: ​ 有\(N\)个人,\(M\)把椅子,给出\(...L_i.R_i\)表示第\(i\)个人可以选择编号为\(1\sim L_i\)和\(R_i\sim M\)的椅子,求至少要加多少张椅子才能让每人都有椅子坐?(\(N,M\le2*10^5\)) 题解: ​ 场上看到这道题,woc,这不是sb的线段树或前缀和优化网络流建边二分图匹配吗?(这沙茶= =) ​ 听dcx说,这题网络流建出来是分层图,流量是\(INF\)的可…
2017国家集训队作业[agc006e]Rotate 3x3 题意: ​ 给你一个\(3*N\)的网格,每次操作选择一个\(3*3\)的网格,旋转\(180^\circ\).问可不可以使每个位置\((i,j)\)的数为\(i+3*(j-1)\).(\(n\leq10^5\)) 题解: ​ 因为在操作中,一列的\(3\)个数不可能被打乱,可以预处理判断.我们思考旋转一次造成的影响有什么?记\(f(0/1).g(0/1)\)分别是一开始奇数位\(/\)偶数位的反列和恢复到原始状态的步数模\(2\)的…
2017国家集训队作业[agc008f]Black Radius 时隔4个月,经历了省赛打酱油和中考各种被吊打后,我终于回想起了我博客园的密码= = 题意: ​ 给你一棵树,树上有若干个关键点.选中某个关键点和一个参数d,把所有与关键点距离不超过距离d的点染黑,问一共有多少种染色方案,两种染色方案不同当且仅当存在一个节点在两种方案中的颜色不同,初始全为白色.(点数\(N\leq2*10^5\)) 题解: ​ 好题啊,模拟赛遇到这题真的orz不会做:) ​ 做这种题,套路就是找到一种不重不漏的计数…