Codeforces Round #556 题解
Codeforces Round #556 题解
Div.2 A Stock Arbitraging
傻逼题
Div.2 B Tiling Challenge
傻逼题
Div.1 A Prefix Sum Primes
傻逼题,先放2,1然后放完2然后放完1
Div.1 B Three Religions
有三个字符串\(s_1,s_2,s_3\)和一个主串\(s\),每次操作改变一个\(s_i\)(插入或删除字符),每次操作完之后问\(s\)是否可以分成\(3\)个子序列正好是\(s_1,s_2,s_3\)。任意时候\(|s_i|\leq 250\)。
设\(nxt[x][i]\)表示主串上字符\(i\)在\(>x\)上第一个出现的位置。
设\(f[x][y][z]\)表示三个串分别匹配到\(x,y,z\)需要主串的最短长度。
那么这个可以\(O(1)\)转移,只要枚举拼起来的最后一个字符就行了。
插入最多改变\(251^2\)个\(f\)值,每次插入dp一遍多出来的\(f\)就行了。
https://codeforces.com/contest/1149/submission/53513066
Div.1 C Tree Generator™
有一个合法的括号序列,每次交换两个括号(保证还是合法)求这个括号序列对应的树的直径
Orz zsy碾标算
直径相当于选一段,匹配完括号以后剩下最多的括号数
然后(因为zsy太强了)等于这一段分成两段后面的权值和-前面的权值和最大值,其中左括号权值为1,右括号为-1,证明显然
所以在线段树上维护一堆东西。。。就行了
要维护的:最大/最小前/后缀和,最大前/后缀的\(d\)值,序列整体\(d\)值,权值和,答案
一段的\(d\)值就是将这一段分成两段后-前权值最大值
https://codeforces.com/problemset/submission/1149/53591504
Div.1 D Abandoning Roads
我是sb。。考场上读错题了。。。
有一张图只包含边权为\(a,b(a<b)\)的边。对于每个点\(p\)求一个最小生成树满足\(1\)到\(p\)距离最小。
显然最小生成树会先取完\(a\),那么先预处理出\(a\)边组成的联通块。\(1\)到\(p\)的最短路边权为\(b\)的边一定连接两个不同的联通块,而且都会走到一个之前没走过的联通块。那么可以状压所有联通块,最短路的同时记一下走过哪些联通块了,走\(b\)边时判一下新的联通块有没有走过。点数是\(O(2^nn)\)级别的。
可以发现如果一个联通块点数\(\leq 3\),那么在这个联通块先走\(b\)边出去再走\(b\)边回来是没有意义的,因为这样至少走\(2b\),而这个联通块内部最长也就最多\(2a\)。所以不需要记这些联通块,点数降到\(O(2^{n/4}n)\)就可以直接做了。
https://codeforces.com/contest/1149/submission/53592086
Div.1 E Election Promises
有一张有向无环图,每个点有权值。双方轮流操作,每次操作降低一个点的权值然后任意修改这个点所有后继的权值。不能操作者输。判断先手胜负,如果先手胜输出第一步走的一个可行方案。
先摆结论:\(SG(x)=\mathbb{mex}_{x\rightarrow i}SG[i]\),\(sum(x)=\oplus_{SG(i)=x}h_i\)。如果有一个\(sum(x)\neq 0\),先手必胜;否则必败。
感性证明:设第\(x\)层表示满足\(SG(i)=x\)的所有\(i\)。显然对第\(x\)个点进行降低权值操作时不会影响到\(>x\)的层,但会影响所有\(\leq x\)的层。
操作的时候可以将所有\(<x\)层的\(sum\)都变成\(0\),所以双方每次都会操作最大的层,因为小的层没有意义。而每一层是一个取石子游戏。
如果所有\(sum\)为\(0\),先手操作了第\(i\)层,那么操作后一定有\(sum(i)>0\)。后手就再次操作使得\(sum(i)=0\)。因为先手还可能影响了\(j<i\)的层,所以把这些层也变为\(0\)。这也是第一步的方案求法。
https://codeforces.com/contest/1149/submission/53593317
Codeforces Round #556 题解的更多相关文章
- Codeforces Round #556 (Div. 2) - C. Prefix Sum Primes(思维)
Problem Codeforces Round #556 (Div. 2) - D. Three Religions Time Limit: 1000 mSec Problem Descripti ...
- Codeforces Round #556 (Div. 2) - D. Three Religions(动态规划)
Problem Codeforces Round #556 (Div. 2) - D. Three Religions Time Limit: 3000 mSec Problem Descripti ...
- Codeforces Round #569 题解
Codeforces Round #569 题解 CF1179A Valeriy and Deque 有一个双端队列,每次取队首两个值,将较小值移动到队尾,较大值位置不变.多组询问求第\(m\)次操作 ...
- Codeforces Round #556 (Div. 1)
Codeforces Round #556 (Div. 1) A. Prefix Sum Primes 给你一堆1,2,你可以任意排序,要求你输出的数列的前缀和中质数个数最大. 发现只有\(2\)是偶 ...
- Codeforces Round #557 题解【更完了】
Codeforces Round #557 题解 掉分快乐 CF1161A Hide and Seek Alice和Bob在玩捉♂迷♂藏,有\(n\)个格子,Bob会检查\(k\)次,第\(i\)次检 ...
- CFEducational Codeforces Round 66题解报告
CFEducational Codeforces Round 66题解报告 感觉丧失了唯一一次能在CF上超过wqy的机会QAQ A 不管 B 不能直接累计乘法打\(tag\),要直接跳 C 考虑二分第 ...
- Codeforces Round #542 题解
Codeforces Round #542 abstract I决策中的独立性, II联通块染色板子 IIIVoronoi diagram O(N^2 logN) VI环上距离分类讨论加取模,最值中的 ...
- Codeforces Round #556 (Div. 2) D. Three Religions 题解 动态规划
题目链接:http://codeforces.com/contest/1150/problem/D 题目大意: 你有一个参考串 s 和三个装载字符串的容器 vec[0..2] ,然后还有 q 次操作, ...
- Educational Codeforces Round 19 题解【ABCDE】
A. k-Factorization 题意:给你一个n,问你这个数能否分割成k个大于1的数的乘积. 题解:因为n的取值范围很小,所以感觉dfs应该不会有很多种可能-- #include<bits ...
随机推荐
- SpringBoot集成freemarker和thymeleaf模板
1.在MAVEN工程POM.XML中引入依赖架包 <!-- 引入 freemarker 模板依赖 --> <dependency> <groupId>org.spr ...
- code1043 方格取数
第一次走用dfs枚举每种情况,第二次走用dp求剩下的最大值 设一个点集q用来保存有价值的点,排序,在最后加一个终点:x=m+1,y=m+1,v=0 //m是矩阵长宽 因为v=0的点是没有意义的,所以 ...
- SliceBox
SliceBox相当于一个轮播图插件,只不过是3D的. 先来查看它能实现的效果: 官网:http://tympanus.net/codrops/2011/09/05/slicebox-3d-image ...
- 全面剖析Smarty缓存机制二[清除缓存方法]
前段时间,写了一篇 Smaryt缓存机制的几种缓存方式 ,详细介绍了三种缓存方式:全局缓存.部分缓存.局部缓存,以及通过is_cache()判断是否存在缓存来进行缓存生成.本来这篇早该完成,由于时间关 ...
- Linux内核版本
在Linux中找到/usr/src/kernels/目录,该目录下面有一个系统内核文件 例如:2.6.32-431.11.2.el6.x86_64 Linux内核版本规则 Linux内核版本有三组数字 ...
- HttpUploader6-queue版本更新说明
HttpUploader6-queue版本更新说明 博客园:http://www.cnblogs.com/xproer/p/5109761.html 网易博客:http://hyhyo.blog.16 ...
- 关于获取客户端Mac地址
private static string GetClientMAC() { string mac_dest = string.Empty; try { string strClientIP = Ht ...
- ASP.NET MVC 控制器通过继承控制器来达到 过滤 并且多了一个IAuthenticationFilter
暂时没有用到过这个IAuthenticationFilter接口,毕竟已经有三个具体实现类了,所以这个还不知道用在哪,以后看看 20190324 需要注意!!!控制器重写方法都是被protected修 ...
- 本地连接腾讯云Mysql失败问题
腾讯云主机中MySQL无法远程连接的解决办法 在远程主机上,我开启了 mysql服务,用 phpmyadmin 可以打开,比如说用户名为 root,密码为 123456.不过用 Mysql 客户端远程 ...
- MYSQL ZIP 压缩包 安装
基win10安装 1.管理员身份打开cmd 2.进入mysql 的 bin文件下 D: 回车 3.mysql服务名字 -install 回车 4.net start mysql服务名字 ...