Codeforces round338 div2
来源:互联网 发布:广东省干部网络 编辑:程序博客网 时间:2024/05/16 06:01
codeforces round338 div2总结
A:....
B:
英文阅读题啊...
先Dp出到每个点的最长上升序列,统计答案即可.
注意一下平时的习惯,这道题我一开始以为无所谓就搜索就t了,fst了之后才反应过来....
注意:开long long
C:
暴力跑kmp.(后缀自动机可以o(n)做).
D:
pp水爆了...
答案就是(i^c[i])连乘,c[i]为质数i在所有因子中出现的次数.
如何对于每一个i求出它的c[i]呢?
我们先枚举i的次方数j(即由几个i构成),再统计其他数的组合方式.
那么Ans[i]=(i^j)^( ((num[k]+1)连乘)(其中k不等于i)).(Ans[i]为i的贡献,num[k]为k出现的次数).
(用欧拉定理先将质数Mod fi(p)-1,即1000000006,再快速幂,就行了.(水的不行啊).)
注意这里的(num[k]+1)连乘不能先求出所有数连乘再乘上num[i]+1的逆元,因为要用欧拉定理,那怎么办呢?
记录一个前缀乘,一个后缀乘,就可以了.
E:
我们这样想,每一轮就等同于跑了一个六边形,那么每一轮的步数为6*k(k为当前轮数).
所以说1到k轮一共跑了((k)*(k+1)/2)*6步.我们可以二分求出k(注意二分的上界设大一点,当时因为这个wa了两次).
然后o(6)枚举看最后一步的状态是怎么样的(状态只有6中:左上,左,左下,右下,右,右上),每一种状态有k步.
然后不就行了吗.
(第k轮开始时,正好处于(2*k,0)这个位置).
0 0
- Codeforces round338 div2
- codeforces round338 总结&&题解
- codeforces #78 div2 C
- codeforces 83div2
- 【codeforces #91 div2】
- codeforces 105 div2 A
- codeforces 105 div2 B
- CodeForces #120 DIV2
- Codeforces---125--div2--总结
- Codeforces-127-div2
- codeforces-div2-128
- codeforces-div2-134
- Codeforces 135 div2
- codeforces 137 div2
- Codeforces #137 div2
- Codeforces #49 div2
- codeforces 145 div2 A
- codeforces #147(div2)
- 视图手势
- 利用javap -verbose 查看java程序运行内存分配情况
- Java_基本数据类型
- HDU2087剪花布条
- poj3693 Maximum repetition substring
- Codeforces round338 div2
- linux集成开发环境
- hdoj 1255 覆盖的面积【线段树 + 扫描线求重叠两次及以上的面积】
- 设计模式之观察者模式的C++实现
- SDWebImage使用说明
- XCode快捷键大全
- javascript事件
- 深入研究socket编程(3)——使用select函数编写客户端和服务器
- java 中格式化输出,如同printf();