自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ZSQ

新的一天,新的不会

  • 博客(108)
  • 收藏
  • 关注

原创 CodeForces 834 B.The Festive Evening(水~)

Description 有A~Z26个入口,现在有n位客人轮流从这些入口进入,同一时刻不会有超过一位客人进入,每个客人进固定的入口,一个入口在第一位客人来的时候打开,在最后一位客人进入之后关闭,一个入口如果是打开的就需要一个守卫,共有k个守卫,问是否存在某个时间段有某个入口开放但没有守卫 Input 第一行两个整数n,k分别表示客人数量和守卫数量,之后一个长度为n的只由大写字母组成的字符串表示

2017-07-31 14:06:45 1873

原创 CodeForces 834 A.The Useless Toy(水~)

Description 四个方向V,<,^,>,每次旋转可以选择一个方向,然后旋转一次是90度,现在给出两个方向和旋转的次数,保证往某个方向旋转可以从第一个方向到达第二个方向,问旋转方向 Input 两个字符表示两个方向,之后一整数n表示旋转次数(0<=n<=1e9) Output 如果只能顺时针转过去则输出cw,如果只能逆时针转过去则输出ccw,如果两个方向都可以转过去则输出undefi

2017-07-31 13:59:05 617

原创 CodeForces 833 B.The Bakery(dp+线段树)

Description 给出一个长度为n的序列,把其分成k段连续的子段使得这k段每段中不同数字的个数之和最大 Input 第一行两个整数n和k表示序列长度和要分成的段数,之后n个整数a[i]表示该序列(1<=n<=35000,1<=k<=min(n,50),1<=a[i]<=n) Output 输出分成k段后每段中不同数字个数之和的最大值 Sample Input 4 1 1 2 2

2017-07-31 13:30:28 710

原创 CodeForces 833 A.The Meaningless Game(水~)

Description 两个人比赛,初始得分都是1,每轮会随机抽一个自然数k,胜者得分乘k^2,败者得分乘k,现在给出两个人n轮比赛后的得分,问是否存在合法的情况满足这两个得分 Input 第一行一整数n表示比赛轮数,之后n行每行两个正整数a,b表示两个人的得分(1<=n<=350000,1<=a,b<=1e9) Output 如果存在合法情况则输出Yes,否则输出No Sample I

2017-07-31 13:10:06 421

原创 HDU 6055 Regular polygon(hash)

Description 给出n个整点,问这n个点中可以构成多少正m边形 Input 多组用例,每组用例首先输入一整数n表示点的个数,之后n行每行输入两整数x[i],y[i]表示第i个点的横纵坐标,以文件尾结束输入(n<=500,-100<=x[i],y[i]<=100) Output 对于每组用例,输出n个点可以构成的正m变形个数 Sample Input 4 0 0 0 1 1

2017-07-30 14:20:20 427

原创 HDU 6053 TrickGCD(莫比乌斯反演)

Description 一个长度为n的序列b[1]~b[n]序满足gcd(b[l],…,b[r])>=2,1<=l<=r<=n,1<=b[i]<=a[i],给出a[1]~a[n],问满足条件的b序列个数 Input 第一行一整数T表示用例组数,每组用例首先输入一整数n表示序列长度,之后输入n个整数a[i] (1<=T<=10,1<=n,a[i]<=1e5) Output 对于每组用例,输出

2017-07-30 14:10:56 596

原创 HDU 6052 To my boyfriend(分块+容斥原理+单调栈)

Description 给出一个n*m矩阵A,问所有子矩阵中不同数字个数的期望 Input 第一行一整数T表示用例组数,每组用例首先输入两个整数n和m表示矩阵行列数,之后输入一n*m矩阵A[i][j] (T<=9,1<=n,m<=100,0<=A[i][j]<=n*m) Output 输出子矩阵中不同数字个数的期望,结果保留到小数点后九位 Sample Input 1 2 3 1

2017-07-30 13:37:17 452

原创 HDU 6051 If the starlight never fade(原根+欧拉函数)

Description f(i)为满足,求,结果模1e9+7 Input 第一行一整数T表示用例组数,每组用例输入两个整数m和p,p是素数 (2<=m<=p-1,2<=p<=1e9+7) Output 对于每组用例,输出的值,结果模1e9+7 Sample Input 3 5 7 3 11 2 103 Sample Output Case #1: 210 Case #2:

2017-07-30 13:10:29 930

原创 HDU 6050 Funny Function(快速幂)

Description 函数F(x,y)满足: 给出n,m,求F(m,1)%1e9+7 Input 第一行一整数T表示用例组数,每组用例输入两个整数n,m (1<=T<=1e4,1<=n,m < 2^63) Output 对于每组用例,输出F(m,1)%1e9+7 Sample Input 2 2 2 3 3 Sample Output 2 33 Solution

2017-07-30 12:08:46 518

原创 HDU 6048 Puzzle(机智)

Description 一个n*m的滑块游戏,从左到右从上到下依次编号1~n*m-1,最后一块编号为0是空的,现在把n*m-1个滑块拿出来按编号升序排,每次把第1,p+1,2p+1,…,np+1块拿出来从左到右从上到下放好,问放好后的局面是否可以恢复成第i行第j列滑块编号为(i-1)*m+j这种初始局面 Input 第一行一整数T表示用例组数,每组用例输入三个整数n,m,p (T<=100,

2017-07-30 11:42:03 506

原创 HDU 6047 Maximum Sequence(贪心)

Description 给出两个长度为n的序列a和b,要求用b序列构造a序列的第n+1~2n项,在构造a[i] (n+1<=i<=2n) 时每次需要从b序列中选一个数b[k](一个数只能被选一次),a[i]需要满足a[i]<=max{ a[j]-j | b[k]<=j < i },问构造出来的a[n+1]+…+a[2n]的最大值 Input 多组用例,每组用例输入一整数n表示序列长度,之后输入

2017-07-30 11:23:05 384

原创 HDU 6045 Is Derek lying?(水~)

Description n道题,每道题有A,B,C三个选项,正确答案只有一个,给出两个人的答案和两个人说的自己答对的题目数量,只要有一种可能的正确答案取值使得两个人答对的题目数量他们说的一样就说他们没有说谎,否则有人说谎 Input 第一行一整数T表示用例组数,每组用例首先输入三个整数n,x,y分别表示总题数和两个人说的自己答对的题目数量,之后输入两个长度为n的只由ABC组成的字符串表示两个人

2017-07-30 11:14:54 387

原创 HDU 6044 Limited Permutation(递归)

Description 一个1~n的排列p[1],p[2],…,p[n],现在给出p[i]在该排列中作为最小值的最大存在区间[L[i],R[i]],问满足这些限制条件的排列p有多少种 Input 多组用例,每组用例首先输入一整数n表示排列长度,之后n个整数L[i]和n个整数R[i]表示排列每个值作为最小值的最大存在区间,以文件尾结束输入(1<=n<=1e6) Output 对于每组用例,输

2017-07-30 11:06:37 519

原创 HDU 6043 KazaQ's Socks(水~)

Description n双袜子,编号1~n,每天穿编号最小的袜子,穿完后扔到脏衣篮里,当脏衣篮里袜子数量为n-1时就会全部洗掉,第二天晚上就洗好了,问第k天穿的袜子编号 Input 多组用例,每组用例输入两个整数n,k,以文件尾结束输入(2<=n<=1e9,1<=k<=1e18) Output 对于每组用例,输出第k天穿的袜子编号 Sample Input 3 7 3 6 4 9

2017-07-30 10:53:30 436

原创 HDU 6042 Journey with Knapsack(生成函数)

Description 有一个体积为2n的背包,n种食物,第i种食物的体积为i,数量为ai,m种装备,只能带一件,第i件体积为bi,问装满背包的方案数 Input 多组用例,每组用例第一行两个整数n和m分别表示食物种类数和装备种类数,之后输入n个整数ai表示第i种食物的数量,之后m个整数bi表示第i种装备的体积,bi互不相同,以文件尾结束输入(1<=n<=5e4,1<=m<=2n,0<=a1

2017-07-29 21:18:13 1274

原创 HDU 6040 Hints of sd0061(nth_element)

Description 给出一个长度为n的序列a[i],以及m次查询b[1],…,b[m],第i次查询a序列中第b[i]+1大的数 Input 多组用例,每组用例首先输入五个整数n,m,A,B,C,n表示序列长度,m表示查询数,A,B,C经过下列操作逐一生成a序列 unsigned x = A, y = B, z = C; unsigned rng61() { unsigned t;

2017-07-29 20:22:08 411

原创 HDU 6038 Function(组合数学)

Description a是一个0~n-1的置换,b是一个0~m-1的置换,f是一个0~n-1到0~m-1的映射,问满足f(i)=b(f(a(i)))的f有多少个 Input 多组用例,每组用例首先输入两整数n,m,之后输入n个整数表示置换a和人m个整数表示置换b,以文件尾结束输入(1<=n,m<=1e5,sum{n},sum{m}<=1e6) Output 对于每组用例,输出满足条件的f

2017-07-29 20:08:55 578

原创 HDU 6036 Division Game(组合数学+NTT)

Description k堆石子,每堆石子初始数量均为n,编号0~k-1,第i次操作对第i%k堆石子操作,从该堆石子中拿走若干石子使得剩余石子数量可以整除原先石子数量,当某堆石子被取走若干石子后变成1时结束操作,问最终操作结束与第i堆的方案数 Input 多组用例,每组用例首先输入两个整数m和k分别表示n的素因子个数和石子堆数,之后m行每行输入n的一个素因子和该素因子pi对应的幂指数ei,保证

2017-07-29 19:42:23 1539

原创 HDU 6035 Colorful Tree(树形DP)

Description 给出一棵树,每个点有固定的颜色,问树上所有简单路径上不同颜色数之和 Input 多组用例,每组用例首先输入一整数n表示树上节点个数,之后输入n个整数c[i]表示第i个节点的颜色,之后n-1行每行输入两个整数u,v表示一条树边,以文件尾结束输入(2<=n<=2e5,1<=c[i]<=n) Output 对于每组用例,输出树上所有简单路径上不同颜色数之和 Sample

2017-07-29 18:00:40 573

原创 HDU 6034 Balala Power!(贪心)

Description 给出n个只由小写字母组成的字符串,先要将’a’~’z’一一映射到0~25,那么这n个串就变成了n个26进制的数,要求该映射使得这n个数加起来最大且除了0本身外其他数不能有前导0 Input 多组用例,每组用例首先输入一整数n表示字符串数量,之后输入n个只由小写字母组成的字符串si,保证至少有一个小写字母在串长超过1的字符串中没有出现过,以文件尾结束输入(1<=n<=1e

2017-07-29 16:52:41 322

原创 HDU 6033 Add More Zero(水~)

Description 给出一整数m,求满足10^k<=2^m-1的最大整数k Input 多组用例,每组用例输入一整数m,以文件尾结束输入(1<=m<=1e5) Output 对于每组用例,输出满足10^k<=2^m-1的最大整数k Sample Input 1 64 Sample Output Case #1: 0 Case #2: 19 Solution 2^m-1(

2017-07-29 16:40:28 259

原创 POJ 3728 The merchant(在线倍增LCA)

Description n个城市构成一棵树,每个城市都有一种商品有一个固定的价格,一个商人要从一个城市到另一个城市,他会在路途中选取一个城市购买这种商品然后在之后的某个城市卖掉以赚取差价,问最大差价 Input 第一行一整数n表示城市个数,之后n个整数val[i]表示第i个城市该种商品的价格,之后n-1行每行两个整数u和v表示u城市和v城市有路径,然后输入一整数q表示查询数,每次查询输入两个整

2017-07-26 23:01:24 927 3

原创 CodeForces 196 C.Paint Tree(计算几何+递归)

Description 给出一棵n个节点的树和二维平面上n个点的坐标,要求把树上的点一一映射到这n个点使得树边不在非顶点处相交 Input 第一行一整数n表示点数,之后n-1行每行两个整数u和v表示一条树边,最后n行每行两个整数x,y表示一个点(1<=n<=1500,-1e9<=x,y<=1e9) Output 输出树上n个点在映射到坐标系中后点的编号 Sample Input 3

2017-07-26 23:01:12 450

原创 CodeForces 149 D.Coloring Brackets(区间DP)

Description 给出一个长度为n的合法括号序列,要求给其中一些括号染色,颜色只有两种——红和蓝,染色需要满足下面两个条件: 1.一个括号要么不染色,要么染成红色,要么染成蓝色 2.对一对匹配的左右括号,只能有一个染色 3.相邻的括号如果都染色则不能同色 问染色方案数 Input 一个长度为n的字符串表示一个合法的括号序列s(2<=|s|<=700) Output 输出染色方

2017-07-26 23:01:04 641

原创 SPOJ 27268 VECTAR5 - Count Subsets(组合数学)

Description 给出一个集合S={1,2,…,n},问从S中选取两个子集A,B使得A不是B的子集,B也不是A的子集 Input 第一行一整数T表示用例组数,每组用例输入一整数n表示一个集合S={1,2,…,n}(1<=T<=1e5,1<=n<=1e6) Output 输出方案数,结果模1e9+7 Sample Input 2 4 8 Sample Output 110

2017-07-26 23:00:54 432

原创 CodeForces 580 D.Kefa and Dishes(状压DP)

Description 有n道菜,吃第i道菜的满意度为val[i],有k种高级吃法,如果在吃完第x[i]道菜后马上吃第y[i]道菜会多出一个z[i]的好感度,问吃m道菜可以得到的最大满意度 Input 第一行三个整数n,m,k分别表示菜品总数,要吃的菜品数量以及吃法种类,之后输入n个整数val[i]表示吃第i个菜品的满意度,最后k行每行三个整数x[i],y[i],z[i]表示在第x[i]道菜后

2017-07-26 23:00:46 350

原创 CodeForces 427 D.Match & Catch(后缀数组)

Description 给出两个串s1和s2,要求找到一个最短的s1和s2的公共子串使得该子串在s1和s2中均只出现过一次 Input 两个字符串s1和s2(|s1|,|s2|<=5000) Output 输出满足条件的最短子串的长度,如果不存在这样的子串则输出-1 Sample Input apple pepperoni Sample Output 2 Solution 把

2017-07-26 23:00:30 465

原创 HDU 5101 Select(二分)

Description n个班级,每个班级有m[i]个孩子,第i个班级第j个孩子的智商为v[i][j],问从不同的两个班级中分别选一个孩子使得这两个孩子的智商和超过k的方案数 Input 第一行一整数T表示用例组数,每组用例首先输入两个整数n和k,之后n行每行首先输入一整数m[i]表示该班级孩子数量,之后输入m[i]个整数v[i][j]表示每个孩子的智商(T<=20,0<=n<=1000,0<

2017-07-26 23:00:02 291

原创 CodeForces 520 B.Two Buttons(bfs)

Description 一个整数n,每次有两种操作,乘二或减一,问最少经过几次操作可以变成m Input 两个整数n,m(1<=n,m<=1e4) Output 输出n变成m的最少步数 Sample Input 4 6 Sample Output 2 Solution 简单bfs,只有两种状态,注意只有当前数字小于m再乘2,不然乘的这一步就毫无意义,只有当前数字大于1再减一,不

2017-07-26 22:53:47 475

原创 CodeForces 4 A.Watermelon(水~)

Description 一个体积为w的西瓜,能否分成两半使得体积均为偶数 Input 一个整数w表示西瓜体积(1<=w<=100) Output 如果可以分成体积均为偶数的两块则输出YES,否则输出NO Sample Input 8 Sample Output YES Solution 水题,奇数和2不行,其他都行 Code#include<cstdio>#include<

2017-07-26 22:50:39 294

原创 CodeForces 348 C.Subset Sums(分块)

Description 一个长度为n的序列a[i]和m个集合Si,每个集合都用一些编号表示,这些编号对应的是序列中的元素,有两种操作: 1.查询第k个集合中元素之和 2.把第k个集合中对应a序列中的元素全部加上x Input 第一行三个整数n,m,q分别表示序列长度,集合数和操作数,之后n个整数a[i]表示该序列,之后m行第i行首先输入一个整数num表示第i个集合的元素个数,然后输入num

2017-07-25 09:53:56 608

原创 OpenJudge 2787 算24(dfs)

Description 给出4个小于10个正整数,你可以使用加减乘除4种运算以及括号把这4个数连接起来得到一个表达式。现在的问题是,是否存在一种方式使得得到的表达式的结果等于24。 这里加减乘除以及括号的运算结果和运算的优先级跟我们平常的定义一致(这里的除法定义是实数除法)。 比如,对于5,5,5,1,我们知道5 * (5 – 1 / 5) = 24,因此可以得到24。又比如,对于1,1,4,

2017-07-25 00:02:46 833

原创 HDU 1426 Sudoku Killer(dfs)

Description 自从2006年3月10日至11日的首届数独世界锦标赛以后,数独这项游戏越来越受到人们的喜爱和重视。 据说,在2008北京奥运会上,会将数独列为一个单独的项目进行比赛,冠军将有可能获得的一份巨大的奖品———HDU免费七日游外加lcy亲笔签名以及同hdu acm team合影留念的机会。 所以全球人民前仆后继,为了奖品日夜训练茶饭不思。当然也包括初学者linle,不过他太

2017-07-25 00:02:15 330

原创 POJ 3346 && HDU 2416 Treasure of the Chimp Island(bfs)

Description 一个n*m的地图,.可以走,*不能走,起点在四周,每一个起点有一定数量的炸弹,#表示该起点没有炸弹,起点是一个字母则表示该起点有与该字母在字母表中位置相同数量的炸弹,在地图中数字表示该处有墙,有两种方案走过该点,一是多花费和该数字一样的时间去把墙挖倒,二是用一个炸弹瞬间炸穿墙,¥表示该处有钱,问从起点走到¥处的最短时间 Input 多组用例,每组用例输入一个字符矩阵表示

2017-07-25 00:01:59 435

原创 HDU 1501 Zipper(dp)

Description 给出两个较短的串a和b和一个串长为a和b串长之和的串c,问a和b是否可以组成c Input 第一行一整数T表示用例组数,每组用例输入三个串a,b,c,a和b串长不超过200,用例组数不超过1000 Output 如果a和b可以组成c则输出yes,否则输出no Sample Input 3 cat tree tcraete cat tree catrtee

2017-07-25 00:01:33 440

原创 HDU 1175 连连看(dfs)

Description “连连看”相信很多人都玩过。没玩过也没关系,下面我给大家介绍一下游戏规则:在一个棋盘中,放了很多的棋子。如果某两个相同的棋子,可以通过一条线连起来(这条线不能经过其它棋子),而且线的转折次数不超过两次,那么这两个棋子就可以在棋盘上消去。不好意思,由于我以前没有玩过连连看,咨询了同学的意见,连线不能从外面绕过去的,但事实上这是错的。现在已经酿成大祸,就只能将错就错了,连线不能

2017-07-25 00:01:24 377

原创 HDU 1548 A strange lift(bfs)

Description 一幢n层大楼有一个电梯,在第i层时按一下电梯可以一次上升d[i]层或一次下降d[i]层(不能下降到一楼一下或n楼以上),问从A层到B层至少需要按几次电梯 Input 多组用例,每组用例第一行三个整数n,A,B分别表示楼层数,起始位置和终止位置,之后n个整数d[i]表示第i层的电梯按一下可以上升或下降的层数,以n=0结束输入(1<=n,A,B<=200) Output

2017-07-25 00:01:07 402

原创 HDU 1242 Rescue(bfs+优先队列)

Description 一个n*m地图,r为起点,a为终点,x是守卫,.可以走,#不可走,走一步需要一单位时间,如果要走守卫所在位置需多花一单位时间,问从起点到终点的最短用时 Input 第一行两个整数n和m表示地图规模,之后一个n*m矩阵表示该地图(n,m<=200) Output 输出起点到终点的最短用时 Sample Input Sample Output 13 Solu

2017-07-25 00:00:56 585

原创 HDU 1427 速算24点(dfs)

Description 速算24点相信绝大多数人都玩过。就是随机给你四张牌,包括A(1),2,3,4,5,6,7,8,9,10,J(11),Q(12),K(13)。要求只用’+’,’-‘,’*’,’/’运算符以及括号改变运算顺序,使得最终运算结果为24(每个数必须且仅能用一次)。游戏很简单,但遇到无解的情况往往让人很郁闷。你的任务就是针对每一组随机产生的四张牌,判断是否有解。我们另外规定,整个计

2017-07-25 00:00:44 1058

原创 POJ 2377 Bad Cowtractors(最大生成树-Kruskal)

Description 给出一个n个点m条边的图,求最大生成树 Input 第一行输入两个整数n和m表示点数和边数,之后m行每行三个整数u,v,c表示u点和v点之间有一条权值为c的边相连(2&lt;=n&lt;=1000,1&lt;=m&lt;=20000,1&lt;=c&lt;=1e5) Output 输出最大生成树权值和 Sample Input 5 8 1 2 3 1 3 ...

2017-07-25 00:00:26 465

空空如也

空空如也

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

TA关注的人

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