题目描述 给出两个n位10进制整数x和y,你需要计算x*y。 输入 第一行一个正整数n。 第二行描述一个位数为n的正整数x。 第三行描述一个位数为n的正整数y。 输出 输出一行,即x*y的结果。 样例输入 1 3 4 样例输出 12 题解 裸的FFT 然而压位会导致精度误差,很难改正,所以最好不要压 ...
分类:
其他好文 时间:
2017-05-19 15:11:46
阅读次数:
200
题目描述 输入 一行,一个字符串S 输出 一行,一个整数,表示所求值 样例输入 cacao 样例输出 54 题解 后缀数组+单调栈,几乎同 bzoj3879 的后半部分。 我明显是做题做反了。。。 这里还是说一下这道题的做法。 先用后缀数组求出height。 然后由于有LCP(a,c)=min(LC ...
分类:
编程语言 时间:
2017-05-18 11:46:13
阅读次数:
214
题目描述 输入 输出 一个整数R 样例输入 7 9 4 8 20 14 15 18 样例输出 13 题解 可并堆,黄源河《左偏树的特点及其应用》Page 13例题原题 ...
分类:
其他好文 时间:
2017-05-18 09:53:43
阅读次数:
291
题目描述 输入 输出 样例输入 4 0 1 1 2 2 3 4 Add 1 3 1 Query 0 Query 1 Query 2 样例输出 3 3 2 题解 树剖+线段树模板题,不过为什么写的人这么少。。。 注意需要开long long ...
分类:
其他好文 时间:
2017-05-18 09:42:32
阅读次数:
167
【题意】 给出一个正整数d(2<=d<=100);一个元素个数为d-1的集合a,每个集合元素ai对应一个1~d-1的整数;以及定义相同的大小为d集合bi。 f函数的定义原题已给出。求数m最少经过多少次函数操作变为数k,无解输出NO。 【题解】 我们可发现当x>=d时,f(x)=d*f(x/d)+b[ ...
分类:
其他好文 时间:
2017-05-17 21:06:03
阅读次数:
243
题目描述 输入 输出 样例输入 样例输出 8 题解 dp 设f[i][j]表示在第i棵树的j高度时最多吃到的柿子数。 那么只有两种可能能够到达这个位置:滑下来、跳下来。 滑下来直接用f[i][j+1]转移,跳下来需要在dp同时记录一个g数组,g[j]表示j高度时最多的柿子数,这样可以用g[j+D]转 ...
分类:
其他好文 时间:
2017-05-15 22:23:46
阅读次数:
155
题目描述 样例输入 4 5 1 2 5 2 3 5 3 1 5 2 4 3 4 1 3 样例输出 3.66666667 题解 分数规划+Spfa判负环 二分答案mid,并将所有边权减去mid,然后再判负环,若有负环则调整下界,否则调整上界,直至上下界基本重合。 证明:显然 由于有(c+d)/(a+b ...
分类:
其他好文 时间:
2017-05-15 14:20:56
阅读次数:
282
题目描述 用N个三角形最多可以把平面分成几个区域? 输入 输入数据的第一行是一个正整数T(1<=T<=10000),表示测试数据的数量。然后是T组测试数据,每组测试数据只包含一个正整数N(1<=N<=10000)。 输出 对于每组测试数据,请输出题目中要求的结果。 样例输入 2 1 2 样例输出 2 ...
分类:
其他好文 时间:
2017-05-02 19:48:30
阅读次数:
175
同样威佐夫也有一个经典的例题: 1.有两堆数量分别为 n,m个石子的石子堆; 2.两个人轮流取石子,可以在一堆石子中取任意个,或者,在两堆石子中每堆石子取相同数目的石子; 输出: 如果先手赢,输出1,否则输出0。 题解: 首先,当n=0,m=0时,先手输。 n=1,m=1时,先手赢。 n=2,m=1 ...
分类:
其他好文 时间:
2017-05-01 14:58:32
阅读次数:
146
对于这个博弈,有一种经典的例题: 1.只有一堆数量为n的石子; 2.只有两个人参与这个游戏; 3.两个人轮流取1--m个石子; 4.最先取完石子的人赢; 输出: 如果先手赢,输出1,否则输出0; 题解: 如果n=m+1,因为最多取m个。所以先手不论取多少个,后手都能一次拿完。 所以,要想先手赢 n= ...
分类:
其他好文 时间:
2017-05-01 14:16:24
阅读次数:
99