12 2015 档案

摘要:题意:”平均数“的意思是:最大数和最小数之间的差值为0或1;先求“平均”数组,再相减。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #define clc(a,b) memset(a,b,sizeof(a))... 阅读全文
posted @ 2015-12-28 20:22 yyblues 阅读(208) 评论(0) 推荐(0) 编辑
摘要:题意:有n本书分m个类别,现在你要买两本不属于同一类别的书,问有多少种方案。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #define clc(a,b) memset(a,b,sizeof(a)) 8 us... 阅读全文
posted @ 2015-12-28 19:30 yyblues 阅读(188) 评论(0) 推荐(0) 编辑
摘要:排序水题 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 8 int n,m; 9 int a[110];10 11 int main()12 {13 scanf("%d",&n... 阅读全文
posted @ 2015-12-28 19:07 yyblues 阅读(135) 评论(0) 推荐(0) 编辑
摘要:题意:两行分别是W和B的生命值,攻击值,防御值。如果W先,W的攻击值-B的防御值大于零则B生命值减去这么多,然后该B攻击。直到谁的生命值先小与等于零则攻击的人赢。输出写错了。。。。。错误代码 1 #include 2 #include 3 #include 4 #include 5 #include... 阅读全文
posted @ 2015-12-26 16:56 yyblues 阅读(203) 评论(0) 推荐(0) 编辑
摘要:今天手感真差。。各种读错题意。水题。。。就是说,给你几个串。如果长度一样并且相同位置字符相同(不分大小写)的个数大于两个就是不同串。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #inc... 阅读全文
posted @ 2015-12-26 16:51 yyblues 阅读(301) 评论(0) 推荐(0) 编辑
摘要:题意:K个数组每组K个值,每次从一组中选一个,共K^k种,问前K个小的。思路:优先队列处理多路归并,每个状态含有K个元素。详见刘汝佳算法指南。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8... 阅读全文
posted @ 2015-12-25 16:29 yyblues 阅读(228) 评论(0) 推荐(0) 编辑
摘要:用优先队列维护每个时间点优先级最高的元素。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 using namespace std; 9 int n,m;10 11 struct Item1... 阅读全文
posted @ 2015-12-25 10:58 yyblues 阅读(176) 评论(0) 推荐(0) 编辑
摘要:水题 学习一下数据的存储方法。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 using namespace std; 9 int n,m;10 map >a;11 12 int main... 阅读全文
posted @ 2015-12-25 10:14 yyblues 阅读(138) 评论(0) 推荐(0) 编辑
摘要:题意:给你n个操做,判断是那种数据结构。 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 int n; 8 int v[1010],u[1010]; 9 10 int ck_q()11 {... 阅读全文
posted @ 2015-12-24 21:47 yyblues 阅读(169) 评论(0) 推荐(0) 编辑
摘要:题意:给你个点m条边的无向图,每个节点都有一个整数权值。你的任务是执行一系列操作。操作分为3种。。。思路:本题一点要逆向来做,正向每次如果删边,复杂度太高。逆向到一定顺序的时候添加一条边更容易。详见算法指南P235。 1 #include 2 3 struct Node 4 { 5 ... 阅读全文
posted @ 2015-12-24 20:34 yyblues 阅读(209) 评论(0) 推荐(0) 编辑
摘要:题意:给你n个人,有两个属性x、y,如果不存在另外一个人x2,y2满足 x2 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 8 struct Point 9 {10 int a,b;11 b... 阅读全文
posted @ 2015-12-21 21:21 yyblues 阅读(160) 评论(0) 推荐(0) 编辑
摘要:题意:给你一个串,问期中至少出现m次的最长子串及其起始位置的坐标。思路:hash+LCP+二分答案 1 #include 2 #include 3 #include 4 using namespace std; 5 6 const int maxn = 40000 + 10; 7 const in... 阅读全文
posted @ 2015-12-20 20:34 yyblues 阅读(192) 评论(0) 推荐(0) 编辑
摘要:题意:求强联通分量Tarjan算法 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #define clc(a,b) memset(a,b,sizeof(a))10 t... 阅读全文
posted @ 2015-12-19 21:54 yyblues 阅读(174) 评论(0) 推荐(0) 编辑
摘要:题意:字符串替换string+map的应用 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #define clc(a,b) memset(a,b,sizeof(a))... 阅读全文
posted @ 2015-12-19 21:04 yyblues 阅读(249) 评论(0) 推荐(0) 编辑
摘要:题意:人左右走动,求影子L的最长长度。思路:三分人在D上的位置。注意影子长=D-x+H-(H-h)*D/x。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #define clc(a,b)... 阅读全文
posted @ 2015-12-18 20:52 yyblues 阅读(233) 评论(0) 推荐(0) 编辑
摘要:题意:给你n个工程,做了每个工程相应增长x经验和y钱。问你最少需要多少天到达制定目标。时间可以是浮点数。思路:杜教思路,用对偶原理很简易。个人建议还是标准解题法,凸包+线性组合。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #in... 阅读全文
posted @ 2015-12-16 00:16 yyblues 阅读(192) 评论(0) 推荐(0) 编辑
摘要:题意:给你N个串,求一个串在大于等于N/2的模板串中连续出现。如果有多解按字典序最小输出。白书模板题。二分答案+合并模板串成一个新串,扫秒新串的height数组。考查后缀数组+LCP 1 #include 2 #include 3 #include 4 using namespace std... 阅读全文
posted @ 2015-12-14 22:54 yyblues 阅读(221) 评论(0) 推荐(0) 编辑
摘要:题意:n点,m条边。m条边里面标记为1的最小生成树的边,0为非最小生成树的边。给了每条边的权,如果能构成一个最小生成树则输出图,否则-1。思路:先按权值小,为生成数边的顺序排序。(根据kruskal)再添加每条0边。这里假定(1,3),(2,4)构成环。 1 #include 2 #include ... 阅读全文
posted @ 2015-12-12 11:37 yyblues 阅读(200) 评论(0) 推荐(0) 编辑
摘要:题意:给定一个x*y的矩形,和一个机器人的初始位置(x0,y0)。以向下为x轴正方向,向右为y轴正方向。现在要对这个机器人进行多次测试。每次测 试,会在矩形的某个位置有一个矿井。所以一共要进行x*y次测试,每次测试,矿井会出现在一个之前的测试没有出现过的地方,而机器人的初始位置保持不变 (即为(x0... 阅读全文
posted @ 2015-12-11 20:41 yyblues 阅读(380) 评论(0) 推荐(0) 编辑
摘要:题意:给你一串数,没个数只能往前提到首位,或则往后放末尾。问最少步骤使操作后的序列成上升序列。思路:最长连续子序列。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 const int N ... 阅读全文
posted @ 2015-12-11 13:49 yyblues 阅读(179) 评论(0) 推荐(0) 编辑
摘要:题意:a,b,c三种球,能把俩个一样的球变成另一颜色不一样的球。给你目标x,y,z,问能否经过变化至少达打目标。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 const int N = ... 阅读全文
posted @ 2015-12-10 12:32 yyblues 阅读(178) 评论(0) 推荐(0) 编辑
摘要:题意:给出一个n*m的字符矩阵T,你的任务是找出给定的x*y的字符矩阵P在T中出现了多少次.思路:要想整个矩阵匹配,至少各行都得匹配。所以先把P的每行看做一个模式串构造出AC自动机,然后在T中的各行逐一匹配,找到P中每一行的所有匹配点。只要在匹配时做一些附加操作,就可以把匹配出来的单一的行拼成矩形。... 阅读全文
posted @ 2015-12-07 00:25 yyblues 阅读(298) 评论(0) 推荐(0) 编辑
摘要:题意:给你 k 个模板串,然后给你一些字符的出现概率,然后给你一个长度 l ,问你这些字符组成的长度为 l 的字符串不包含任何一个模板串的概率。思路:AC自动机+概论DP首先用K个模板构造好AC自动机。题目上说长L的新串的子串不包含任何一个K串,其实就是说在构造好的树中,从根往下走L步都不包含K个模... 阅读全文
posted @ 2015-12-06 21:24 yyblues 阅读(364) 评论(0) 推荐(0) 编辑
摘要:在文本串中找出现次数最多的子串。思路:AC自动机模板+修改一下print函数。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10... 阅读全文
posted @ 2015-12-05 22:22 yyblues 阅读(163) 评论(0) 推荐(0) 编辑
摘要:题意:给出方程 f(kx%p)=kf(x)%p ,f:A->B,不同的映射函数f有几种,其中f,A,B值域为{0,1,2..p-1},p为素数(除了2),k为小于p的一个常数。思路:明显是求循环节的。首先分析特殊情况:k==0:f(x)=0.其余f(x)为值域中任何一个值,所以有p^(p-1)种;k... 阅读全文
posted @ 2015-12-03 15:32 yyblues 阅读(389) 评论(0) 推荐(0) 编辑
摘要:题意:n个球,分成k堆。问堆的最大值的最小。 1 #include 2 typedef long long ll; 3 using namespace std; 4 int main(){ 5 ll n, m, aa[111111]; 6 scanf("%I64d ... 阅读全文
posted @ 2015-12-02 21:27 yyblues 阅读(226) 评论(0) 推荐(0) 编辑
摘要:题意:给你一个01串,必须替换一次,且替换的为子串。问换完后,最大01串长度。 1 #include 2 typedef long long ll; 3 using namespace std; 4 int main() 5 { 6 int n,sum = 1; 7 string ... 阅读全文
posted @ 2015-12-02 20:51 yyblues 阅读(314) 评论(0) 推荐(0) 编辑
摘要:ac自动机模板题链表写法: 1 #include 2 #include 3 #include 4 using namespace std; 5 6 #define T_size 1000000 7 #define P_size 50 8 #define Total_p 10000... 阅读全文
posted @ 2015-12-01 00:52 yyblues 阅读(173) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示