codeforces 练习
codeforces 627 D. Preorder Test
二分 + 树dp
做logn次树dp
codeforces 578D.LCS Again
给出一个字符串str,长度n<=10^6,由m种字符组成,问有多少个长度为n,与str的LCS 为 n-1的字符串t
这道题可以用dp套dp,但是我不会阿
可以找规律统计,考虑:
1.取哪个位置
2.放在哪个位置
3.放什么字符
可以知道,如果str分成了block份,每一份的字符相同,则
ans = block * n * (m - 1)
但是这样是会有一些重复计算的
这种情况会重复计算abababab这样交叉的部分
减去多计算的部分就可以了
codeforces 626 E. Simple Skewness
给出一个数组,从中取若干个数,使得新数组的平均数 - 中位数 最大
可以证明,取的一定是奇数个数
如果取了偶数个数,把最中间2个数较大的一个数去掉,情况不会变差,列个式子算一下就可以证明了。
所以奇数个数,我们就可以枚举中位数
确定了中位数后,
每次从小的数中拿x个,大的数拿x个,ans是关于x的函数,而且是先增大再减小的
就可以三分出此时最优的长度x
看了Mektpoy的代码,学到了三分的更好的姿势:
int l = ,r = min(i-,n-i);
while(r - l > ){
int mid1 = l + (r - l) / ;
int mid2 = r - (r - l) / ;
if(check(i,mid1) < check(i,mid2))
l = mid1;
else
r = mid2;
}
check(i,l);
check(i,r);
if(l + < r)
check(i,l+);
注意这里跳出循环后,可以是:
r - l = 1
r - l = 2 这个时候还需要check(l + 1)
r - l = 0 ???
所以需要check:l,r,l+1(l + 1 < r的情况下)
codeforces 600 E. Lomsat gelral
每一个节点建一棵平衡树,启发式合并,O(nlognlogn)
codeforces 117B Very Interesting Game
暴力
codeforces C. Mike and Foam
莫比乌斯 O(nsqrt(n))
codeforces 449 C. Jzzhu and Apples
贪心
487C. Prefix Product Sequence
构造
a[1] = 1,a[n] = n,a[i] = i * inv(i - 1) (2 < i < n)
222 C. Reducing Fractions
分解因子
78 C. Beaver Game
博弈
691 F. Couple Cover
2维暴力统计,但是由于有i * j <= n 这个条件,其实复杂度是
n / 1 + n / 2 + n / 3 + ... + n / n = O(nlogn)的
225 E. Unsolvable
设第i个梅森素数是2 ^ t - 1,答案就是要求2 ^ (t - 1) - 1,t可以oeis查到
293 C. Cube Problem
给出n,求方程(a+b+c)^3 = a^3 + b^3 + c^3 + n的(a,b,c)的解数
分a = b = c,a = b,a != c,a < b < c 3种情况,暴力枚举,检验下就可以了
594 D REQ
好题
离线处理 bit维护前缀积
codeforces 练习的更多相关文章
- python爬虫学习(5) —— 扒一下codeforces题面
上一次我们拿学校的URP做了个小小的demo.... 其实我们还可以把每个学生的证件照爬下来做成一个证件照校花校草评比 另外也可以写一个物理实验自动选课... 但是出于多种原因,,还是绕开这些敏感话题 ...
- 【Codeforces 738D】Sea Battle(贪心)
http://codeforces.com/contest/738/problem/D Galya is playing one-dimensional Sea Battle on a 1 × n g ...
- 【Codeforces 738C】Road to Cinema
http://codeforces.com/contest/738/problem/C Vasya is currently at a car rental service, and he wants ...
- 【Codeforces 738A】Interview with Oleg
http://codeforces.com/contest/738/problem/A Polycarp has interviewed Oleg and has written the interv ...
- CodeForces - 662A Gambling Nim
http://codeforces.com/problemset/problem/662/A 题目大意: 给定n(n <= 500000)张卡片,每张卡片的两个面都写有数字,每个面都有0.5的概 ...
- CodeForces - 274B Zero Tree
http://codeforces.com/problemset/problem/274/B 题目大意: 给定你一颗树,每个点上有权值. 现在你每次取出这颗树的一颗子树(即点集和边集均是原图的子集的连 ...
- CodeForces - 261B Maxim and Restaurant
http://codeforces.com/problemset/problem/261/B 题目大意:给定n个数a1-an(n<=50,ai<=50),随机打乱后,记Si=a1+a2+a ...
- CodeForces - 696B Puzzles
http://codeforces.com/problemset/problem/696/B 题目大意: 这是一颗有n个点的树,你从根开始游走,每当你第一次到达一个点时,把这个点的权记为(你已经到过不 ...
- CodeForces - 148D Bag of mice
http://codeforces.com/problemset/problem/148/D 题目大意: 原来袋子里有w只白鼠和b只黑鼠 龙和王妃轮流从袋子里抓老鼠.谁先抓到白色老鼠谁就赢. 王妃每次 ...
- CodeForces - 453A Little Pony and Expected Maximum
http://codeforces.com/problemset/problem/453/A 题目大意: 给定一个m面的筛子,求掷n次后,得到的最大的点数的期望 题解 设f[i]表示掷出 <= ...
随机推荐
- 使用Gitolite搭建轻量级的Git服务器
By Harrison Feng在Git服务管理工具这个领域,主要有三种流行的方案,它们分别是 Gitosis - 轻量级, 开源项目,使用SSH公钥认证,只能做到库级的权限控制.目前项目已经停止开发 ...
- python 新旧类的问题
老式类就是经典类,不是继承自object类.在多继承时采用深度优先遍历父类.新式类就是基类继承自object类 class xxx(object).多继承时采用一种新的C3 算法来遍历父类.实例如下: ...
- Magento后台手动修改订单状态方法及手动修改方法php
订单详细内容页手动修改订单状态方法: 打开此文件:app\design\adminhtml\default\default\template\sales\order\view\history.phtm ...
- OpenGL坐标变换及其数学原理,两种摄像机交互模型(附源程序)
实验平台:win7,VS2010 先上结果截图(文章最后下载程序,解压后直接运行BIN文件夹下的EXE程序): a.鼠标拖拽旋转物体,类似于OGRE中的“OgreBites::CameraStyle: ...
- Decorator实现AOP编程。
Program.cs class Program { static void Main(string[] args) { User user = " }; var processor = T ...
- MySQL数据库之------DOS命令行的基本操作
1. 进入D盘的如下路径: 按住 ctrl+shift ,右键,选择在此处打开命令行窗口.出现图2. 图 1 图 2 2. . 3. 图 3 4. 图 4 ...
- Flex 监听浏览器关闭
在creationComplete的事件中,添加如下: if(ExternalInterface.available)//外部接口是否可用 { var js:String= " ...
- POJ 1014 Dividing
Dividing Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 66032 Accepted: 17182 Descriptio ...
- Swift笔记
最近从Xcode6 beta4开始到现在的Xcode6.0.1,使用Swift一段时间了,Swift大体来说,语法与java.c++比较接近,相比objective-c要友好多了,也更容易上手,这里记 ...
- quartz(1)
关于定时任务的操作方法,java语言本身具有 Timer 来解决,但Timer 作用起来不是特别的舒服,由于项目的需要,使用了Quartz 这个调度框架,现把学习过程记录下来,方便以后查阅. 本教程是 ...