[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 数据结构巧用:于二叉树 ...
随机推荐
- 怎么去理解JAVA中类与对象的关系
首先要明确,在现实生活中,每一个物体都有自己的基本特征,专业一点也可以说成是属性有些甚至还有一定的行为.例如 汽车的特征:有车门.有轮胎.颜色各一等等,行为:有行驶,开车门,开车灯,等等.有这些属性和 ...
- nyoj 开方数
开方数 时间限制:500 ms | 内存限制:65535 KB 难度:3 描述 现在给你两个数 n 和 p ,让你求出 p 的开 n 次方. 输入 每组数据包含两个数n和p.当n和p都为0 ...
- [JCIP笔记] (三)如何设计一个线程安全的对象
在当我们谈论线程安全时,我们在谈论什么中,我们讨论了怎样通过Java的synchronize机制去避免几个线程同时访问一个变量时发生问题.忧国忧民的Brian Goetz大神在多年的开发过程中,也悟到 ...
- Python内置函数(52)——getattr
英文文档: getattr(object, name[, default]) Return the value of the named attribute of object. name must ...
- Python内置函数(29)——slice
英文文档: class slice(stop) class slice(start, stop[, step]) Return a slice object representing the set ...
- apollo1.7.1初探(一)安装apollo、创建并启动broker
Apache Apollo是一个代理服务器,是在ActiveMQ基础上发展而来的,支持STOMP, AMQP, MQTT, Openwire, SSL, and WebSockets 等多种协议. A ...
- SpringCloud的服务消费者 (二):(rest+feign/ribbon)声明式访问注册的微服务
采用Ribbon或Feign方式访问注册到EurekaServer中的微服务.1.Ribbon实现了客户端负载均衡,Feign底层调用Ribbon2.注册在EurekaServer中的微服务api,不 ...
- 一个适用于单页应用,返回原始滚动条位置的demo
如题,最近做一个项目时,由于页面太长,跳转后在返回又回到初始位置,不利于用户体验,需要每次返回到用户离开该页面是的位置.由于是移动端项目,使用了移动端的套ui框架framework7,本身框架的机制是 ...
- H5的canvas绘图技术
canvas元素是HTML5中新添加的一个元素,该元素是HTML5中的一个亮点.Canvas元素就像一块画布,通过该元素自带的API结合JavaScript代码可以绘制各种图形和图像以及动画效果. 1 ...
- 基于哈夫曼编码的文件压缩(c++版)
本博客由Rcchio原创 我了解到很多压缩文件的程序是基于哈夫曼编码来实现的,所以产生了自己用哈夫曼编码写一个压缩软件的想法,经过查阅资料和自己的思考,我用c++语言写出了该程序,并通过这篇文章来记录 ...