自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

嗯。

嗯。

  • 博客(21)
  • 资源 (2)
  • 收藏
  • 关注

原创 URAL 1141. RSA Attack RSA加密算法

题目来源:URAL 1141. RSA Attack题意:给你e n c 并且有m^e = c(mod n) 求 m思路:首先学习RSA算法 here 过程大致是1.发送的信息是m2.随机选择两个质数 p和q, n = q*p, n的欧拉函数值φ(n)= (p-1)*(q-1)这个需要证明 3.选择一个与φ(n)互质的并且小于φ(n)的数e, 计算c = m^e(mod

2014-08-31 14:55:48 1536 3

原创 URAL 1019. Line Painting 线段树 区间合并 离散化

题目来源:URAL 1019. Line Painting题意:求最长的一段全部为白色的区间思路:线段树成段更新 区间合并 离散化 这里对应的是一段区间 所以每次不是m+1 而是 l m 和 m r 了 另外我加上了0 和 10^9 这两个点 每一段区间(l, r)我记录的是l和r之间有多少条线段 #include #include #include using namesp

2014-08-31 14:24:03 1143

原创 URAL 1204. Idempotents 扩展欧几里德

题目来源:URAL 1204. Idempotents题意:输入n(n = p*q p,q是质数) 并且x*x=x(mod n) 求x思路: x*x=x(mod n)  -> x*x+k*n=x -> x*(x-1)/n = k 所以 0 和 1 是一组解 因为n = p*q 且x*(x-1)%(p*q)== 0 x 1.x有p因子x-1有q因子x%p == 0且(x-1)%q =

2014-08-31 13:57:47 1148

原创 算法及定理证明

RSA算法原理

2014-08-30 20:59:32 1145

原创 Miller_Rabin大素数测试与Pollard_rho整数分解模版

#include #include #include #include using namespace std;typedef __int64 LL;const int Times = 20;LL factor[100], l;LL gcd(LL a, LL b){ return b ? gcd(b, a%b):a;}LL add_mod(LL a, LL b, LL n)

2014-08-30 20:21:15 1105

原创 POJ 2480 Longge's problem 积性函数

题目来源:POJ 2480 Longge's problem题意:求i从1到n的gcd(n, i)的和思路:首先如果m, n 互质 gcd(i, n*m) = gcd(i, n)*gcd(i, m) 这是一个积性函数积性函数的和还是积性函数由欧拉函数知识得 phi(p^a) = p^a - p^(a-1) p是素数 a是正整数得到最终答案f(n) = f(p1^a1

2014-08-30 10:08:40 913

原创 URAL 1732 . Ministry of Truth KMP

题目来源:URAL 1732 . Ministry of Truth题意:把第一个字符串处理一下 变成第二个 不要的字符改成下划线 空格不能改思路:对第二个字符串单词分割 得到每一个单词后从第一个字符串中匹配 匹配成功 记录当前匹配的位置 然后下一个单词从x+2处在匹配 知道所有的单词都被匹配到鄙视自己没想清楚写了半天 最后发现题目意思都错了改了很多 最后代码和原来

2014-08-30 10:07:03 921

原创 POJ 1442 Black Box treap求区间第k大

题目来源:POJ 1442 Black Box题意:输入xi 输出前xi个数的第i大的数思路:试了下自己的treap模版#include #include #include #include using namespace std;struct Node{ Node *ch[2]; int r; int v; int s; Node(){} Node(int

2014-08-29 23:24:07 1213

原创 treap模版

#include #include #include using namespace std;struct Node{ Node *ch[2]; int r; int v; int s; Node(int v): v(v) { ch[0] = ch[1] = NULL; r = rand(); s = 1; } bool operator < (const Node&

2014-08-28 22:07:12 885

转载 Dancing Links题集

POJ3740     Easy Finding [精确覆盖基础题]HUST1017    Exact cover [精确覆盖基础]HDOJ3663Power Stations [精确覆盖]ZOJ3209   Treasure Map [精确覆盖]HDOJ2828Lamp [精确覆盖+重复覆盖判独]HDOJ3498whosyourdaddy [重复覆盖]HDOJ3529Bo

2014-08-27 22:25:46 890

转载 树形DP(个别未完成)

一、常规树形DP     1、 Hdu 1520 Anniversary party   每个节点有权值,子节点和父节点不能同时选,问最后能选的最大价值是多少?解题报告Here      2、Hdu 2196 Computer  经典题,求树每个点到其他点的最远距离,转化为有根树,深搜两次,一次记录到叶子的最远距离,一次更新最终答案。解题报告Here      3、Poj

2014-08-20 15:33:39 767

原创 POJ 1284 Primitive Roots 原根

题目来源:POJ 1284 Primitive Roots#include const int maxn = 70000;int phi[maxn];void phi_table(int n){ for(int i = 2; i <= n; i++) phi[i] = 0; phi[1] = 1; for(int i = 2; i <= n; i++) if(!phi[i

2014-08-17 12:29:34 863

转载 拓扑排序题集

HDU】1285确定比赛名次2094产生冠军2647Reward3342Legal or Not1811Rank of Tetris  拓扑+并查集3231 Box Relations 三维拓扑=================================================================【POJ】1094 Sortin

2014-08-16 21:34:16 790

原创 URAL 1684. Jack's Last Word KMP

题目来源:URAL 1684. Jack's Last Word题意:输入a b 把b分成若干段 每一段都是a的前缀思路:b为主串 然后用a匹配b 记录到b的i位置最大匹配的长度 然后分割 分割的时候要从后往前如果a = abac b = abab 那么如果从前往后 首先覆盖了aba 然后b就不能覆盖了 从后往前就可以了 首先覆盖ab 下一次还是ab因为已经记录了到i位置的最大匹配

2014-08-12 19:08:01 1024

转载 ACM中国国家集训队论文集目录(1999-2009)

国家集训队1999论文集陈宏:《数据结构的选择与算法效率——从IOI98试题PICTURE谈起》来煜坤:《把握本质,灵活运用——动态规划的深入探讨》齐鑫:《搜索方法中的剪枝优化》邵铮:《数学模型的建立、比较和应用》石润婷:《隐蔽化、多维化、开放化——论当今信息学竞赛中数学建模的灵活性》杨帆:《准确性、全面性、美观性——测试数据设计中的三要素》周咏基:《论随机化算法的

2014-08-11 19:25:13 1063

原创 HDU 1527 取石子游戏 威佐夫博弈

题目来源:HDU 1527 取石子游戏题意:中文思路:威佐夫博弈 必败态为 (a,b ) ai + i = bi     ai = i*(1+sqrt(5.0)+1)/2   这题就求出i然后带人i和i+1判断是否成立以下转自网上某总结有公式ak =[k(1+√5)/2],bk= ak + k  (k=0,1,2,…,n 方括号表示取整函数) 其中出现了黄金分割数(1+√5)/2

2014-08-10 19:07:41 986

转载 区间DP题集(个别未完成)

1、Zoj 3537 Cake    2、Light oj 1422 Halloween Costumes    很基础的区间DP,是不老传说那题的减弱版。    状态转移方程:dp[i][j] = dp[i][j-1] (arr[i] == arr[j])                            dp[i][j] = min(dp[i][

2014-08-08 09:15:31 886

原创 Light OJ 1356 Prime Independence 最大独立集+素数筛选

题目来源:Light OJ 1356 Prime Independence题意:给你n个数 选出最多的数构成一个集合使得任何2个数不是另外一个数的质数倍 x!=k*y 思路:矛盾的2个数连边 并且所有数分成质因子数为奇数和偶数两部分 以质因子奇偶不同构建二分图 同奇 同偶的数一定不是另外一个数的质数倍判断矛盾 首先对每个数因子分解 例如x 有a1个p1质因子 a2个p2质因子...an

2014-08-06 16:52:43 1646

原创 算法竞赛入门经典 Dynamic Programming

UVA 116简单递推 输出字典序最小解 从后往前推

2014-08-04 20:32:09 1144

原创 POJ 3904 Sky Code 容斥原理

题目来源:POJ 3904 Sky Code题意:选出最大公约数为1的四元组的方案思路:容斥原理 总的方案C(n,4)减去t(1)+t(2)-t(3)+...+(-)^kt(k)t(i)表示四元组公因子的个数为i的方案数#include #include #include using namespace std;const int maxn = 10010;typedef

2014-08-03 16:10:40 1130

原创 POJ 2356 Find a multiple 鸽巢原理

题目来源:POJ 2356 Find a multiple题意:n个数 选出任意个数 使得这些数的和是n的倍数思路:肯定有解 并且解是连续的一段数 证明:假设有m个数 a1,a2,a3...am    s1 s2 s3...sm为前缀和 s1 = a1 s2 = a1+a2 s3 = a1+a2+a3... sm = a1+a2+a3+...+am1.如果某个前缀和si%m =

2014-08-02 18:33:30 949

ACM 学习资料

ACM 学习资料 包括一些压缩包 和 数据结构的一点东西

2013-11-29

数据结构课件

数据结构的课件 感觉比书上的代码容易理解

2013-09-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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