Codeforces Round #389(div 2)
A
=w=
B
QvQ
C
题意:在一个格子图里给出一个路径 里面有UDLR四种移动方向 问 我在格子路径里面最少选几个点 可以让我沿着格子路径走 其实是在相邻的点与点之间走最短路
分析:贪心+模拟
尽可能选取长的一段,满足这一段里L和R只出现一种,U和D只出现一种
模拟即可
D
题意:给出n个字符串,每个字符串长为k(n*k<=100000),每个字符串都有一个权值(可正可负可为0),选取若干个字符串组成一个回文串,让这个回文串权值和最大,输出这个最大权值和
分析:贪心+map+vector
先用map把所有字符串hash一下
把所有相同字符串对应的不同权值全部放入vector中并从大到小排序
要先明确一点,构成字符串,可以是完全左右对称的,也可以中间有一个自身是回文串的子串
从前到后遍历每个第一次出现的字符串,得到他的反转串,若反转串map里没有则跳过
若反转串存在且和自身不同(也就是本身不是回文串),记两个字符串编号分别为u和v
从前到后遍历u和v对应的vector,从大到小将他组成一对,即g[u][0]+g[v][0],g[u][1]+g[v][1]....,直到终止或者某两个和为负数
若反转串存在且和自身相同(也就是本身是回文串),记这个字符串编号为u
看这个字符串的所有权值中正的有多少个
若为偶数个,什么都不用想,直接两两配对
若是奇数个,考虑两种情况
若最后一个正数加上下一个负数的结果为负数,那么这最后一个正数可以作为预备中间数(弄个变量t不断更新最大值,t=max(t,v[i])),前面配对
若最后一个正数加上下一个负数的结果为正数,那么这个奇数权值可能作为两边的也可能作为中间的,我们不妨先把其当作两边的,用-v[i+1]表示如果该字符串作为中间字符串能给结果带来多少增益,那么t=max(t,-v[i+1])
ans=sum+t(t是某个自身回文串在中间给结果带来的增益)
E
题意:n个橘子,每个橘子都有自己的片数a[i],每次可以将一个橘子或者切成的一部分对半分,如果是奇数就对半分成相邻的两个数。最后分出的许多块橘子中取最大的k块,让这k块橘子中最小的片数最大。(n<=1e6,a[i]<=1e7,k<=2e9)
分析:二分答案
先二分答案mid
如果一般的判定,扫一遍a数组,判断每个a[i]切成>=mid的最多能有多少块,这样复杂度是nlognlogc(会TLE)
判定可以这样考虑
设f[i]表示片数为i的橘子有多少块,那么f[i/2]+=f[i],f[(i+1)/2]+=f[i] 这里可以先开始通过O(C)的预处理得到
然后弄个后缀和,二分的时候就可以根据后缀差得到对应mid的答案,判定时间是O(1)
总的时间复杂度是O(C)
F
题意:给定2k个队伍分别住在2k个城市里,需要设定若干个城市,然后选取2个队伍要在它们的最短路径上设一个城市作为休息站。要求设立最少的休息站,然后输出如何安排2个队伍
分析:结论题
其实这个休息站只需要1个
将那些有队伍的城市权值设为1,其它城市权值设为0
那么这个休息点就是这棵树的权值重心(也就是说某个点为根,所有子树的权值和<=所有点权值和的一半)
所以只需要找到这个休息点就找到了答案
至于方案,可以以这个休息点为根,dfs,先遍历到的k个点放一边,后遍历到的k个点放在另一边(因为是权值重心),所以这样一一对应是合法的
Codeforces Round #389(div 2)的更多相关文章
- Codeforces Round #389 Div.2 D. Santa Claus and a Palindrome
time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standa ...
- Codeforces Round #389 (Div. 2,) B C
考完复变之后沉迷联盟不能自拔...明天就开始抢救计组 ... B 一个人装错了键帽 选择几个pair 把pair里面的键帽交换 并且每个键帽最多可以换一次 给出按键序列和输出序列 判断是否可以 如果可 ...
- Codeforces Round #389 (Div. 2, Rated, Based on Technocup 2017 - Elimination Round 3) C
Description Santa Claus has Robot which lives on the infinite grid and can move along its lines. He ...
- Codeforces Round #389 (Div. 2, Rated, Based on Technocup 2017 - Elimination Round 3) B
Description Santa Claus decided to disassemble his keyboard to clean it. After he returned all the k ...
- Codeforces Round #389 (Div. 2, Rated, Based on Technocup 2017 - Elimination Round 3) A
Description Santa Claus is the first who came to the Christmas Olympiad, and he is going to be the f ...
- Codeforces Round #389 (Div. 2, Rated, Based on Technocup 2017 - Elimination Round 3) D. Santa Claus and a Palindrome STL
D. Santa Claus and a Palindrome time limit per test 2 seconds memory limit per test 256 megabytes in ...
- Codeforces Round #389 (Div. 2, Rated, Based on Technocup 2017 - Elimination Round 3) E. Santa Claus and Tangerines
E. Santa Claus and Tangerines time limit per test 2 seconds memory limit per test 256 megabytes inpu ...
- Codeforces Round #389 Div.2 E. Santa Claus and Tangerines
time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standa ...
- Codeforces Round #389 Div.2 C. Santa Claus and Robot
time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standa ...
- Codeforces Round #389 Div.2 B. Santa Claus and Keyboard Check
time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standa ...
随机推荐
- [转]myeclipse 生成JAR包并引入第三方包
myeclipse 生成JAR包并引入第三方包 我用的是myeclipse8.0 首先用myeclipse生成JAR 一.生成JAR包 1.点选项目右键—>Export 2.Java—>J ...
- 使用代码自定义UIView注意一二三
文/CoderAO(简书作者)原文链接:http://www.jianshu.com/p/68b383b129f9著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 当一撮样式一样的视图在 ...
- 除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效。
在 SELECT 后加 TOP 100 PERCENT .
- memcached session共享
http://www.baidu.com/s?wd=memcached%20session%E5%85%B1%E4%BA%AB&rsv_spt=1&issp=1&f=8& ...
- Js弹性漂浮广告代码
<html><head><meta http-equiv="Content-Type" content="text/html; charse ...
- Thread 常搞混的几个概念sleep、wait、yield、interrupt (转)
原文网址:http://blog.csdn.net/partner4java/article/details/7993420sleep:在指定的毫秒数内让当前正在执行的线程休眠(暂停执行),此操作受到 ...
- C# 温故而知新:Stream篇(—)
C# 温故而知新:Stream篇(—) 目录: 什么是Stream? 什么是字节序列? Stream的构造函数 Stream的重要属性及方法 Stream的示例 Stream异步读写 Stream 和 ...
- 脚本化HTTP
1.HTTP: 定义:超文本传输协议 (HTTP-Hypertext transfer protocol) 是一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协 ...
- <转>请戒掉成功学和正能量,那是麻痹人的毒药 | 新知
非常不幸的是,这将是一场非常糟糕的演说.我不想骗你们,你们从我这里几乎什么也学不到.你们在离开的时候肯定会感到失望,你们的生活并不会得到改善. 更糟糕的是,你还会意识到生活的本质毫无意义,你的一切努力 ...
- Server.MapPath() 解析
Server.MapPath获得的路径都是服务器上的物理路径,也就是常说的绝对路径 ./当前目录 /网站主目录 ../上层目录 ~/网站虚拟目录 1.Server.MapPath("/&qu ...