Codeforces Round #411 div2
A. Fake NP
题意:询问一个区间[L,R]出现次数最多的正整数因子(>1)。
一个区间内一个因子P出现次数大概为[R/P]-[(L-1)/P],约等于(R-L+1)/P,P取2时最优。注意L=R时,且L为奇数输出L即可。
B. 3-palindrome
题意:要求用'a','b','c'组成长度为n的字符串,并且没有长度为3的回文串,还要使‘c’出现次数最少。
没有长度为3的回文串,等于没有长度为奇数(>1)的回文串。直接循环输出aabbaabb.....
C. Find Amir
题意:n个点,任意两点之间距离为(i+j)%(n+1)。要求输出遍历所有点的最短距离。
直接构造:1->n->2->n-1->3->n-2......距离为(n-1)/2
D. Minimum number of steps
题意:一个长度为n的由'a','b'组成的字符串。不允许出现'ab'这样的子串,每次可以用'bba'代替'ab'。询问最少代替次数。
'ab'->'bba'实际上就是将'a','b'互换位置并且增加一个’b'。当'a'被换到最右边的'b'的右边后该'a'就结束了。一个靠近'b'的'a'的花费为它后面'b'的个数。为了方便计算每次等于将'aaaaab'->'baaaaa'。不断重复下去。每次的花费就是2^('a'的个数+1)-1
E. Ice cream coloring
题意:你有n个节点,这个n个节点构成一棵树。每个节点拥有有si个类型的ice,同一个节点的ice互相连边构成完全图。对于拥有相同ice的节点u,v,在树上一定相邻。求将ice构成的图染色,相邻点不可同色的最小颜色数以及方案。
看到问题觉得是个NP问题就跑了......然后现在补一发。
首先,一个完全图的染色,一定要节点数个颜色。然后因为满足“对于拥有相同ice的节点u,v,在树上一定相邻。”假设树上有三个节点a,b,c.(a,b),(b,c)∈E,那么满足S(a)∩S(C)∈S(b)。//S(x)即节点x拥有的ice
所以如果S(b)中所有点染好色后,S(a)其余节点的染色与S(c)无关。互不影响。于是直接染色就好了,由此也可以看出最少需要的颜色数为max(|S|)。O(n+∑Si)
F. Expected diameter of a tree
题意:给一个森林,每次给u,v,询问u,v所在树任意取两个点连接起来得到的新树的直径d的期望。如果得到的不是树就输出-1.
期望=∑d/size(u)*size(v).直接算所有情况的直径d和就好了。每个点存下该点在原树中所能到达的最远距离。因为新树的直径可能会原树一样,于是要二分一个临界点,用类似启发式合并的方法去做。为了防止被卡还要存下已有答案。均摊O(mlog^2n)
所谓一句话题解.....
Codeforces Round #411 div2的更多相关文章
- Codeforces Round #539 div2
Codeforces Round #539 div2 abstract I 离散化三连 sort(pos.begin(), pos.end()); pos.erase(unique(pos.begin ...
- 【前行】◇第3站◇ Codeforces Round #512 Div2
[第3站]Codeforces Round #512 Div2 第三题莫名卡半天……一堆细节没处理,改一个发现还有一个……然后就炸了,罚了一啪啦时间 Rating又掉了……但是没什么,比上一次好多了: ...
- Codeforces Round#320 Div2 解题报告
Codeforces Round#320 Div2 先做个标题党,骗骗访问量,结束后再来写咯. codeforces 579A Raising Bacteria codeforces 579B Fin ...
- Codeforces Round #564(div2)
Codeforces Round #564(div2) 本来以为是送分场,结果成了送命场. 菜是原罪 A SB题,上来读不懂题就交WA了一发,代码就不粘了 B 简单构造 很明显,\(n*n\)的矩阵可 ...
- Codeforces Round #361 div2
ProblemA(Codeforces Round 689A): 题意: 给一个手势, 问这个手势是否是唯一. 思路: 暴力, 模拟将这个手势上下左右移动一次看是否还在键盘上即可. 代码: #incl ...
- Codeforces Round #626 Div2 D,E
比赛链接: Codeforces Round #626 (Div. 2, based on Moscow Open Olympiad in Informatics) D.Present 题意: 给定大 ...
- CodeForces Round 192 Div2
This is the first time I took part in Codeforces Competition.The only felt is that my IQ was contemp ...
- Codeforces Round #359 div2
Problem_A(CodeForces 686A): 题意: \[ 有n个输入, +\space d_i代表冰淇淋数目增加d_i个, -\space d_i表示某个孩纸需要d_i个, 如果你现在手里 ...
- Codeforces Round #360 div2
Problem_A(CodeForces 688A): 题意: 有d天, n个人.如果这n个人同时出现, 那么你就赢不了他们所有的人, 除此之外, 你可以赢他们所有到场的人. 到场人数为0也算赢. 现 ...
随机推荐
- JNI初识
JNI:Java Native Interface 的简写,是Java语言提供的一种通用接口,用于Java代码与本地化代码的交互. 所谓本地化代码是指直接编译成的与计算机相关的二进制代码,而非Java ...
- 多列组合为主键(PRIMARY KEY)
在表中,想把其中2列或多列作为组合主键. CREATE TABLE [dbo].[T3] ( ) NOT NULL, ) NOT NULL, ) NULL, ) NULL ) GO ALTER TAB ...
- DIV文字水平垂直居中的方法
水平居中 text-align:center 垂直居中(vertical-align) vertical-align:middle; vertical-align时而没效果 然而真实使用的时候,我们会 ...
- 散列表(Hash table)及其构造
散列表(Hash table) 散列表,是根据关键码值(Key value)而直接进行访问的数据结构.它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度.这个映射函数叫做散列函数,存放记录 ...
- c#封装dll
https://www.cnblogs.com/xingboy/p/10287425.html
- 【Unity】物理碰撞实验
http://www.cnblogs.com/javawebsoa/archive/2013/05/18/3085818.html 这几天为了准备面试,所以决定对平时学习中的盲点扫盲一下,首先想到的就 ...
- 汇总:unity中弹道计算和击中移动目标计算方法
http://download.jikexueyuan.com/detail/id/432.html 弹道计算是游戏里常见的问题,其中关于击中移动目标的自动计算提前量的话题,看似简单,其实还是挺复杂的 ...
- transition动画最简使用方式
HTML <a href="#" title="">test</a> CSS a {display:block; width:200px ...
- os.walk详解
https://www.jianshu.com/p/bbad16822eab python中os.walk是一个简单易用的文件.目录遍历器,可以帮助我们高效的处理文件.目录方面的事情. 1.载入 要使 ...
- 丝滑顺畅:使用CSS3获取60FPS动画
原文链接: Smooth as Butter: Achieving 60 FPS Animations with CSS3 在移动端使用动画元素是很容易的. 如果你能遵循我们的这里的提示, 在移动端适 ...