雯舞

Love three things int he world -- Manchery

[GarsiaWachs算法] BZOJ 3229 [Sdoi2008]石子合并 & POJ 1738 An old Stone Game & 51Nod 1023 石子归并 V3

教主八题之一 却没有写堆或平衡树 投机取巧了 以后会把四边形不等式优化 和 数据结构维护都写一遍 详细解法见ACdreamers : http://blog.csdn.net/acdreamers/article/details/18043897 O(n2)的算法在这位神犇的实现下表现的十分优越 ...

2016-11-25 21:05:44

阅读数:524

评论数:2

[类欧几里得算法 数学技巧] 51Nod 1132 覆盖数字的数量 V2 & Ural 1797 Summit Online Judge. Version 2

传送门:http://acm.timus.ru/problem.aspx?space=1&num=1797 讨论帖 膜拜各路神犇:http://www.51nod.com/question/index.html#!questionId=683 分类讨论 n>=x*y 以及 n #...

2016-11-25 20:32:10

阅读数:547

评论数:0

[数学 几何] 51Nod 1512 向量翻转 & Codeforces #79 (Div. 1 Only) 101C Vectors

可以发现ABC其实都可以旋转 转来转去无非是变幻下坐标系 那么我们设D为C旋转后的向量 B0B1B2B3为旋转后的xiangliang 那么就是判断 A+xC+yD=B0/B1/B2/B3 是否有整数解 注意些细节 #include #include #include #define...

2016-11-25 20:25:40

阅读数:425

评论数:0

[堆] POJ 3481 Double Queue

就是很基础的两个堆 无聊了打打 据说有人用平衡树? #include #include #include #include #include using namespace std; typedef pair abcd; inline char nc(){ static char buf...

2016-11-25 20:21:09

阅读数:171

评论数:0

[斐波那契拆分 乱搞 数学] 51Nod 1350 斐波那契表示

可以证明每次选最大的fib数减去一定是最优解之一 然后预处理G[fib[i]-1]  额 代码横跨noip前后 意识模糊 一片mess #include #include #include #include using namespace std; typedef long long ll...

2016-11-23 16:59:52

阅读数:352

评论数:0

[数论] 51Nod 1217 Minimum Modular & Codeforces 303C #183 (Div. 1) Minimum Modular

N个不同的数a[1],a[2]...a[n],你可以从中去掉K个数,并且找到一个正整数M,使得剩下的N - K个数,Mod M的结果各不相同,求M的最小值。 来自讨论帖:http://www.51nod.com/question/index.html#!questionId=994 ...

2016-11-22 15:46:10

阅读数:553

评论数:0

[五边形数定理 DP] 51Nod 1259 整数划分 V2 & HDU 4651 Partition

详见:http://blog.csdn.net/acdreamers/article/details/12259815 #include #include #include using namespace std; typedef long long ll; con...

2016-11-22 15:41:10

阅读数:306

评论数:0

[单调队列] 51Nod 1275 连续子段的差异

发现自己还不是很懂单调队列这一套理论啊 #include #include #include using namespace std; inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) ...

2016-11-22 15:38:01

阅读数:183

评论数:0

[KMP next树] 51Nod 1277 字符串中的最大值

AC自动机的fail可以成树 KMP的next也能成树 这道题就是沿着树往上统计出现次数 #include #include #include #include using namespace std; const int N=100005; int n; char S[N]; i...

2016-11-22 14:33:28

阅读数:415

评论数:0

[DP] 51Nod 1293 球与切换器

经过该切换器的球的总量是k,发现如果是该位置的值是1,那么会有(k+1)/2的球像右去,剩下的球向下去。如果该位置的值是-1,那么会有(k+1)/2的球像下去,剩下的球向右去。 #include #include #include using namespace std; typedef...

2016-11-22 14:31:49

阅读数:205

评论数:0

[贪心 DP] 51Nod 1241 特殊的排序

求出最大的连续子序列即可 然后不对的向两边怼 #include #include #include using namespace std; const int N=50005; int n,a[N],pre[N],ans; int f[N]; int main(){ scan...

2016-11-22 14:29:25

阅读数:223

评论数:0

[数论] 51Nod 1225 余数之和

n%i=n-[n/i]*i #include #include #include using namespace std; typedef long long ll; int P=1000000007; int INV=5e8+4; ll n; ll Ans=0; inline l...

2016-11-22 14:27:59

阅读数:244

评论数:0

[分治 || 单调栈 单调队列] 51Nod 1215 数组的宽度

分治 #include #include #include using namespace std; typedef pair abcd; typedef long long ll; inline char nc(){ static char buf[100000],*p1=buf...

2016-11-22 14:25:05

阅读数:269

评论数:0

[DP 数论] 51Nod 1201 整数划分

dp[i][j] 代表用j个数字的和为i的数的个数 dp[i][j] = dp[i - j][j - 1] + dp[i - j][j](不过好像不太对) 把所有的数都加上1,然后再额外的给出一个1  或 将现有的每一位加1 #include #include #includ...

2016-11-22 14:22:49

阅读数:171

评论数:0

[数论] 51Nod 1189 阶乘分数

(X-N!)(Y-N!) = (N!)^2 #include #include #include using namespace std; typedef long long ll; inline char nc(){ static char buf[100000],*p1=buf...

2016-11-22 14:18:18

阅读数:182

评论数:0

[乱搞 分类讨论 数学] 51Nod 1131 覆盖数字的数量

可以知道[a,b]能覆盖的区间是[a,b],[2a,2b],[3a,3b]...[ka,kb]...等等,先求出这些区间何时交在一起即k*b>=(k+1)*a-1,然后再细致一点分类讨论即可。 #include #include #include using namespace s...

2016-11-22 14:16:46

阅读数:327

评论数:0

[贪心 置换] 51Nod 1125 交换机器的最小代价

先找置换 肯定会形成循环 如果问最小交换次数 就是n-循环数 这里问最小代价 先分成很多组置换,因为是两两交换,所以在每组置换内部,让最小的数反向走一圈,也就是 最小数交换 置换长度-1 次,其他数交换一次.还有一种可能,是引入置换外部的最小数,也就是先交换内部最小数和外部最...

2016-11-17 07:57:58

阅读数:410

评论数:0

[组合数] 51Nod 1161 Partial Sums & Codeforces 223C #138 (Div. 1) Partial Sums

自己手推就能发现是个斜着的杨辉三角 #include #include #include using namespace std; typedef long long ll; const int P=1000000007; const int N=5005; int n,K; l...

2016-11-17 07:53:23

阅读数:294

评论数:0

[悬线法] 51Nod 1158 全是1的最大子矩阵

复习 #include #include #include using namespace std; const int N=505; int n,m,a[N][N]; int lft[N][N],rgt[N][N],hgt[N][N]; int main(){ freopen...

2016-11-17 07:51:26

阅读数:250

评论数:0

[随机化 矩阵乘法] BZOJ 2396 神奇的矩阵 & 51Nod 1140 矩阵相乘结果的判断 & POJ 3318 Matrix Multiplication

不说了 经典 #include #include #include #include #define cl(x) memset(x,0,sizeof(x)) using namespace std; typedef long long ll; inline char nc(){ ...

2016-11-17 07:50:05

阅读数:291

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭