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 ...
随机推荐
- Weblogic10.3.6部署解决CXF webService 调用报错: “Cannot create a secure XMLInputFactory”
一,解决步骤 1.添加jar包 stax2-api-3.1.4.jar woodstox-core-asl-4.4.1.jar 2.编写监听器 package com.neusoft.cxf.list ...
- Java程序员常用工具类库 - 目录
有人说当你开始学习Java的时候,你就走上了一条不归路,在Java世界里,包罗万象,从J2SE,J2ME,J2EE三大平台,到J2EE中的13中核心技术,再到Java世界中万紫千红的Framework ...
- windows编程之内核对象
学好windows编程,理解内核对象还是至关重要的(●'◡'●).闲话不多说,下面先来了解一下关于内核对象的知识: 内核对象(kernel object):内核对象是用于管理进 ...
- [SoapUI] UrlEncode编码/UrlDecode解码网站
http://tool.chinaz.com/Tools/URLEncode.aspx 解码: 编码:
- 3.1.5 倒计时器:CountDownLatch
package 第三章.倒计时器CountDownLatch; import java.util.concurrent.CountDownLatch; /** * Created by zzq on ...
- C#中 Thread,Task,Async/Await,IAsyncResult 的那些事儿![转载]
说起异步,Thread,Task,async/await,IAsyncResult 这些东西肯定是绕不开的,今天就来依次聊聊他们 1.线程(Thread) 多线程的意义在于一个应用程序中,有多个执行部 ...
- Android 修改 TextView 的全局默认颜色。
如果你的应用中大多数TextView的颜色是红色, 或者其他颜色, 你是为每一个TextView都设置一次颜色, 还是有其他更好的办法, 这里教你怎么修改TextView的默认颜色. 当然我们Text ...
- 阿里云OSS-web直传---在服务端c#签名,浏览器直传
OSS web直传---在服务端php签名,浏览器直传 本文:OSS web直传---在服务端c#签名,浏览器直传 其他语言的范例地址:https://help.aliyun.com/document ...
- Short jhat tutorial: diagnosing OutOfMemoryError by example
转自: http://petermodzelewski.blogspot.com/2013/06/short-jhat-tutorial-diagnosing.html jhat这个工具经过使用, 发 ...
- pig(数据流语言和编译器)学习https://www.w3cschool.cn/apache_pig/apache_pig_execution.html
当我们配置了hadoop集群执行的时候 可以通过命令ls进行查看 存储语法 STORE Relation_name INTO ' required_directory_path ' [USING fu ...