[Codeforces Round #431]简要题解
来自FallDream的博客,未经允许, 请勿转载,谢谢。
好久没写cf题解了zzz
代码比较丑不贴了,cf上都可以看
Div2A.
给你一个长度为n(n<=100)的序列 判断是否可以分成奇数个长度是奇数,且第一个和最后一个都是奇数的子串
当时想都没想就交了个dp
发现实际上满足n是奇数,a1和an都是奇数即可。
Div2B
给n(n<=1000)个点,第i个点坐标(i,ai),问是否可以用两条平行线恰好穿过所有的点
有一条线肯定通过12,或者23或者13,枚举情况分别判断即可。
Div1A
将两个串合并的费用是所有字母在两边的个数的乘积之和,要求构造一个最小费用是n(<=100000)的串。
不同字母的费用分开计算,m个相同字母的费用是m(m-1)/2 贪心一下就好了。
Div1B
有n(<=100000)个点,第i个点在ti时间之后从x或者y轴的pi的位置开始向另一个轴正方向移动,两个点相撞会反弹,求每个点最终位置。
首先根据pi-ti不同分开处理
然后对于每个点求出有多少个pi-ti相同的,并且从另一个方向飞过来的点,同时求出有多少个pi-ti相同的,并且和他同一个轴的坐标比他大的点。
两种点都会让他反弹,根据哪种比较多判断最终飞的方向,可以用一个线段树查k大来获得最终位置。
Div1C
维护一个长度为n(<=100000)的序列,支持单点修改,查询区间所有权值最大位置-最小位置的和,m<=100000。
用set维护每种权值的出现位置,每个数和它的上个数都在区间内时会产生(距离)的贡献。
然后就变成了二维单点改,查询矩形和的问题,套树貌似空间不太够,cdq分治比较稳。
Div1D
题目比较复杂,可以自己看,不解释了。
可以看出这道题肯定是DP,因为一个图就等于一条边加上很多个“桥”,每个桥又由两个图组成,有重复的子问题。
用f[i][j]表示用i次操作获得一个流量是j的桥的方案数。
用g[i][j]表示用i此操作获得一个流量是j的图的方案数。
f[i][j] * f[k][l] 转移到 -> g[i+k+1][min(j,l)]
然后因为同构的关系同一个f[i][j]一起转移
从n个里选出k个,可以重复的方案数是C(n+k-1,n-1)
动态维护这个组合数,在转移的时候 枚举选择k个f[i][j],则g[i'][j']+=f[i'-k*i][j'-k*j] * C(f[i][j]+k-1,f[i][j]-1)
[Codeforces Round #431]简要题解的更多相关文章
- Codeforces Round#433 简要题解
来自FallDream的博客,未经允许,请勿转载,谢谢. 我的号自从几个月前姿势水平过低疯狂掉分之后就没动过了 突然想上点分 就打了一场Div1 没想到打到了rank5 一发上橙了,可还行. ...
- Codeforces Round#432 简要题解
来自FallDream的博客,未经允许,请勿转载,谢谢. Div2A 小判断题 Div2B 小判断题,合法的条件是|AB|=|BC|且三点不共线 Div1A 类比二维.三维空间,可以猜测n太大的时候没 ...
- Codeforces Round #543 Div1题解(并不全)
Codeforces Round #543 Div1题解 Codeforces A. Diana and Liana 给定一个长度为\(m\)的序列,你可以从中删去不超过\(m-n*k\)个元素,剩下 ...
- Codeforces Round #545 Div1 题解
Codeforces Round #545 Div1 题解 来写题解啦QwQ 本来想上红的,结果没做出D.... A. Skyscrapers CF1137A 题意 给定一个\(n*m\)的网格,每个 ...
- Codeforces Round #539 Div1 题解
Codeforces Round #539 Div1 题解 听说这场很适合上分QwQ 然而太晚了QaQ A. Sasha and a Bit of Relax 翻译 有一个长度为\(n\)的数组,问有 ...
- Educational Codeforces Round 64 部分题解
Educational Codeforces Round 64 部分题解 不更了不更了 CF1156D 0-1-Tree 有一棵树,边权都是0或1.定义点对\(x,y(x\neq y)\)合法当且仅当 ...
- Educational Codeforces Round 64部分题解
Educational Codeforces Round 64部分题解 A 题目大意:给定三角形(高等于低的等腰),正方形,圆,在满足其高,边长,半径最大(保证在上一个图形的内部)的前提下. 判断交点 ...
- 【题解】Comet OJ Round 70 简要题解
[题解]Comet OJ Round 70 简要题解 A 将放在地上的书按照从小到大排序后,问题的本质就变成了合并两个序列使得字典序最小.可以直接模拟归并排序.直接用循环和std::merge实现这个 ...
- Codeforces Round div2 #541 题解
codeforces Round #541 abstract: I构造题可能代码简单证明很难 II拓扑排序 III并查集 启发式排序,带链表 IV dp 处理字符串递推问题 V 数据结构巧用:于二叉树 ...
随机推荐
- scrapy 避免被ban
1.settings.pyCOOKIES_ENABLED = False DOWNLOAD_DELAY = 3 ROBOTSTXT_OBEY = Falseip代理池设置 IPPOOL = [{'ip ...
- prototype 原型链
// 方法1 var aa=function(){ function bb(){ this.name="1111"; console.log(this.name) }; bb.pr ...
- nyoj 过河问题
过河问题 时间限制:1000 ms | 内存限制:65535 KB 难度:5 描述 在漆黑的夜里,N位旅行者来到了一座狭窄而且没有护栏的桥边.如果不借助手电筒的话,大家是无论如何也不敢过桥去的 ...
- 用phpcms切换中英文网页的方法(不用解析二级域名)、phpcms完成pc和手机端切换(同一域名)
AA.phpcms进行双语切换方法(不用解析二级域名)作者:悦悦 博客地址:http://www.cnblogs.com/nuanai/ phpcms进行两种语言的切换,有一把部分的人都是进行的二级域 ...
- linux下面的智能解压脚本smart解压
file命令可以辨别出一个给定文件的文件类型,如:file lf.gz,其输出结果为: lf.gz: gzip compressed data, deflated, original filename ...
- maven入门(1-3)构建简单的maven项目
1. 用Maven 命令创建一个简单的Maven项目 在cmd中运行如下命令: mvn archetype:generate -DgroupId=com.mycompany.app -Dartifac ...
- Spring 4.2.5 + Quartz 2.2.0整合
jar包使用的Maven库管理的,在这就不罗列了,注意下只有spring3.x以上的版本才支持quartz2.x的版本. 配置文件: <?xml version="1.0" ...
- vue中的vue-cli
在前面的学习过程中我相信你们已经对vue有了一定的了解,现在我们来看一下vue中的vue-cli. 学习这个我们首先需要的是node环境的,如果你的网络环境慢的话建议安装淘宝镜像,在cmd中输入 np ...
- 如何把百度统计代码放入JS文件中?百度统计的JS脚本原理分析
<script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script&quo ...
- www的构建技术
www的构建技术分别是: html超文本标记语言,页面的文本显示 http超文本传输协议,信息传输转移的约定 url统一资源定位符,客户端浏览超文本的地址集合