
GYM
v5zsq
新的一天,新的不会
展开
-
GYM 100285 B. The battle near the swamp(水~)
Description n块区域,每块区域有k个目标,有n箱炸弹,每箱ai个,第i箱炸第i块区域,一个炸弹炸毁一个目标,问最后剩余的炸弹数和目标数 Input 第一行两个整数n和k分别表示区域数和每块区域的目标数,第二行n个整数分别表示每箱炸弹的数量 Output 输出最后剩余的炸弹数和目标数 Sample Input 4 5 2 7 5 0 Sample Output 2 8原创 2015-08-15 19:32:38 · 575 阅读 · 0 评论 -
GYM 100285 D. This cheeseburger you don’t need(水~)
Description 给出一个字符串,串中有一些不相交的子串被{},[],()分开,现在按{},(),[]的顺序将括号内的子串按顺序输出,首字母要大写,逗号后的串首字母也要大写 Input 一个长度小于10^4的字符串 Output 输出改变顺序后的串 Sample Input (We) [are] {blind}, if (we) [could not see] {creatio原创 2015-08-15 19:40:00 · 507 阅读 · 0 评论 -
GYM 100285 E. The Emperor’s plan(组合数学+dp)
Description 现在有n个参议员,其中有k个人是间谍,为了谋取自己的利益,现在每个间谍在每个晚上都会干掉不是间谍的参议员,一个间谍一天晚上只会干掉一个参议员,且间谍在晚上不会干掉自己人,在白天的时候,为了排除间谍,参议员们要排挤掉一部分人使得剩下的不是间谍的参议员的人数期望值最大,白天排挤一部分人出去的时候是随机的 (相当于白天间谍互相不认识) ,只是数量决定于排挤之后剩余的非间谍参议员原创 2015-08-15 19:58:37 · 873 阅读 · 0 评论 -
GYM 100285 H. Those are not the droids you're looking for(二分匹配-Dinic)
Description 士兵在一家酒吧寻找逃跑的机器人,酒吧老板说酒吧里没有机器人,只有走私者和货运者两种人,走私者最少停留a min,货运者最多停留b min,现在士兵只知道酒吧的进出情况,即某时刻有人进入酒吧或者有人离开酒吧,问酒吧老板是否说谎,如果没有说谎则输出每个人的进出时间点 Input 第一行为两个整数a和b分别表示走私者停留的最少时间和货运者停留的最长时间,第二行为一整数n表示原创 2015-08-15 20:29:25 · 633 阅读 · 0 评论 -
GYM 100285 I. The old Padawan(二分+简单模拟)
Description 有一个人捡按一定顺序捡石头,每秒都能捡起一个,但是他有时会分心,这是不但不能举石头,而且手中的石头还会掉,直到没有石头可以掉下来或者掉下来的石头的总重量>k。依次给出n个石头的重量和m个他分心的时间点,问他需要多长时间把石头全部举起 Input 第一行三个整数n,m,k分别表示石头数量,分心次数以及每次分心掉落石头质量的下限,之后n行每行一个整数分别表示每个石头的质量原创 2015-08-15 20:36:24 · 601 阅读 · 0 评论 -
GYM 100247 A. The Power of the Dark Side(水~)
Description n名队员,每个人有三种能力a[i],b[i],c[i],一个人打败另一个人当且仅当其至少有两种能力强于对方,现在可以将任一个人的任两种能力值互换,问有多少人可以打败其他所有人 Input 第一行一整数n表示人数,之后n行每行三个整数a[i],b[i],c[i]表示第i个人的三种能力值,保证所有能力值都不同 (1<=n<=200000,1<=a[i],b[i],c[i]原创 2017-02-28 20:37:27 · 732 阅读 · 0 评论 -
GYM 100247 B. Similar Strings(水~)
Description 给出n个字符串,如果两个字符串之间存在一个字母表双射使得一个串变成另一个串,那么这两个串相似,问这n个串中有多少对相似的字符串 Input 第一行一整数n表示字符串数量,之后n个字符串,总串长不超过1e6 Output 输出相似字符串对数 Sample Input 4 abacaba tetatet test bear Sample Output 1原创 2017-02-28 20:49:07 · 602 阅读 · 0 评论 -
GYM 100247 C. Victor's Research(水~)
Description 给出一个长度为n的序列a,问有多少连续子段的和为s Input 第一行两整数n和s分别表示序列长度和目标子段和,之后n个整数a[i] (1<=n<=200000,-2e14<=s<=2e14,-1e9<=a[i]<=1e9) Output 输出连续子段和为s的子段数量 Sample Input 5 2 -1 1 2 -1 1 Sample Output 5原创 2017-03-01 08:55:58 · 514 阅读 · 0 评论 -
GYM 100247 D. Hamming Distance(水~)
Description 定义两个字符串的距离为对应位置不相同的字符数量,现在给出三个长度为n的字符串a,b,c,要求构造一个长度为n的字符串s,使得s和a,b,c三个串的距离和最小 Input 第一行一整数n表示串长,之后三个长度为n的全部由小写字母构成的字符串(1<=n<=200000) Output 输出一个长度为n的字符串使得其距三个串的距离和最小 Sample Input 6原创 2017-03-01 09:02:28 · 453 阅读 · 0 评论 -
GYM 100247 E. Of Groups and Rights(dfs)
Description 给出一棵n个节点,以1为根的树,每个节点初始有三种状态:有权限,无权限,未设定,如果一个节点未设定,那么就继承其父亲的权限,如果其父亲未设定,其父亲就会继承其父亲的父亲的权限,以此类推,如果1节点未设定那么认为1节点无权限。定义叶子节点为用户,现在要求存最少的节点,给这些节点权限,其余节点全部未设定,要求根据这些节点以及上面的继承规则还原所有用户的权限 Input 第一原创 2017-03-01 13:54:48 · 496 阅读 · 0 评论 -
GYM 100247 F. Battle Fury(二分)
Description n只怪兽,第i只怪兽有a[i]血,每次选中一个怪兽攻击可以对其造成p点伤害,对其余怪兽每只造成q点溅射伤害,问最少需要多少次攻击可以打死所有怪兽 Input 第一行三个整数n,p,q分别表示怪兽数量,攻击伤害和溅射伤害,之后n个整数a[i]表示每只怪兽的血量 (1<=n<=200000,1<=q<=p<=1e9,1<=a[i]<=1e9) Output 输出杀死所原创 2017-03-01 14:02:37 · 823 阅读 · 0 评论 -
GYM 100247 H. Secret Information(贪心)
Description 给出两个长度均为n的01串a和b,每次可以将一个子串反转,问最少经过多少次反转可以将a变成b Input 第一行一整数n表示串长,之后两个长度为n的01串a和b(1<=n<=200000) Output 输出将a变成b的最少操作步数 Sample Input 6 101010 110011 Sample Output 2 Solution 贪心,从前原创 2017-03-02 14:31:40 · 412 阅读 · 0 评论 -
GYM 100247 I. Meteor Flow(贪心)
Description 飞船有一个防护罩,初始耐久度为0,每秒加一单位,给出n次导弹攻击,第i次攻击在第t[i]秒,攻击力d[i],如果防护罩耐久不小于导弹的攻击力则飞船没事,但防护罩耐久会掉d[i],否则gg,但是飞船上有炮,每炮可以毁掉任意导弹,问最少需要多少炮飞船不gg Input 第一行一整数n表示导弹数量,之后n行每行两个整数t[i],d[i]表示该次攻击的时间和导弹的攻击力,保证t原创 2017-03-02 14:45:17 · 646 阅读 · 0 评论 -
GYM 100247 J. The Best Statement(水~)
Description 有n次考试,A和B的得分分别是a[i]和b[i],A有一个心理预期k,只有一场考试的分数大于等于k而且比上一次分数高,这次考试才算数,B可以改变A的想法来设定任意k,问B如何设定k才能使得至少有一次考试算数且B在这些算数的考试中获得的最高分 Input 第一行一整数n表示考试数量,之后n行每行两个整数a[i]和b[i]分别表示A和B的分数(1<=n<=200000,1<原创 2017-03-02 15:15:08 · 516 阅读 · 0 评论 -
GYM 100247 K. Three Contests(CDQ分治)
Description n支队伍都参加了三场比赛,每场比赛有一个得分,一支队伍觉得另一支队伍比自己强当且仅当那支队伍至少有一次比赛成绩比自己好,问有多少对队伍满足每支队伍都觉得对方比自己强 Input 第一行一整数n表示·队伍数量,之后n行每行三个整数a[i],b[i],c[i]表示第i支队伍三场比赛的成绩(1<=n<=200000,1<=a[i],b[i],c[i]<...原创 2017-03-02 15:30:10 · 788 阅读 · 0 评论 -
GYM 100247 L. For the Honest Election(递归)
Description 有n个人要投票选市长,P想当市长,所以他要找一些支持者给他投票,他可以把一群人分成若干人数相等的小组,对每个小组还可以执行类似的操作,投票规则是每个组分成的小组中有过半组投支持P这个组才支持P,问P通过适当的分组后让自己被选上市长需要的最少支持者 Input 一个整数n表示选民(1<=n<=1e9) Output P被选上所需的最少支持者 Sample Input原创 2017-03-02 15:41:07 · 553 阅读 · 0 评论 -
GYM 100030 A. Innovative Experiment(组合数学)
Description 给出一整数n,要求构造一个长度为m的置换表,使得一个初始为1~m的序列经过n次置换第一次变回原序列1~m Input 一个整数n(1<=n<=1e18) Output 输出一个整数m表示序列长度,之后输出一个置换表(即一个1~m的排列),如果有多种方案输出任意一种,如果任一解对应的m都大于1e5则输出No solution Sample Input 3 Sam原创 2017-03-02 16:14:00 · 624 阅读 · 0 评论 -
GYM 100030 B.Epic Battle(博弈论)
Description n堆石子,每堆a[i]个,每次可以将一个剩余石子数量不小于2的堆分成两个非空堆,谁不能分就输,Constantine和Mike轮流,Constantine先手,双方足够机智,问谁必胜 Input 第一行一整数n表示石子堆数,之后n个整数a[i]表示每堆石子数量(1<=n<=20,1<=a[i]<=40) Output 输出必胜者,Constantine或Mike原创 2017-03-02 16:24:13 · 494 阅读 · 0 评论 -
GYM 100488 A. Yet Another Goat in the Garden(计算几何)
Description 给出一个三角形和一个可以放进去的圆的半径,这个圆会一直移动(不会越过边界),问该三角形中可以被圆覆盖的部分占整个三角形的比例 Input 三角形的三边边长a,b,c以及圆的半径r,保证a,b,c可以构成一个三角形,保证以r为半径的圆可以放进三角形中(1<=a,b,c,r<=1e4) Output 输出三角形中可以被圆覆盖的部分占整个三角形的比例 Sample In原创 2017-03-08 13:39:45 · 583 阅读 · 0 评论 -
GYM 100488 B.Impossible to Guess(构造)
Description 一个1~n的排列p[1],p[2],…,p[n],每次询问区间[l,r]会告诉将p[l],…,p[r]升序排列后输出,至多[n/2]次询问复原p序列 Input 一个整数n表示序列长度(1<=n<=100) Output 输出Q l r表示询问[l,r],之后会告诉升序排列后的p[l],…,p[r],当确定p序列后,输出A,之后输出这n个数 Sample Inpu原创 2017-03-08 14:00:05 · 371 阅读 · 0 评论 -
GYM 100488 C.Lost Temple(数论)
Description 找出所有满足条件的(a,b)使得ab=k*(a+b) Input 一个整数k(1<=k<=1e9) Output 输出所有满足条件的(a,b)对数和每一对(a,b) Sample Input 2 Sample Output 3 3 6 6 3 4 4 Solution 问题转化为找k^2的所有因子,做法就是先对k分解素因数,对每个素因子的幂指数原创 2017-03-08 14:27:17 · 488 阅读 · 0 评论 -
GYM 100488 D.Toy Soldiers(map)
Description n个点,初始颜色c[i],m次染色,每个给某个点涂上另一种颜色,问最少几次操作后所有点颜色相同 Input 第一行一整数n表示点数,之后n个整数c[i]表示每个点的颜色,之后一整数m表示染色数,最后m行每行两个整数a和b表示给a点染b颜色(1<=n<=1e5,1<=c[i]<=1e9,1<=m<=3e5,1<=a<=n,1<=b<=1e9) Output 输出最少操原创 2017-03-08 14:34:17 · 291 阅读 · 0 评论 -
GYM 100488 E.Just Change a Word(水~)
Description 一个只由小写字母组成的字符串,每次可以消除相邻两个不同的字母,问是否可以通过若干次消除把该串变成空串 Input 一个字符串,串长不超过4e5 Output 如果该串可以消成空串输出YES,否则输出NO Sample Input aabccaba Sample Output YES Solution 长度为奇数显然不行,对于长度为偶数的串,统计每种字母出原创 2017-03-08 14:39:33 · 274 阅读 · 0 评论 -
GYM 100488 F.Two Envelopes(水~)
Description 从区间[a,b]中选一个数x,然后把x个卢布放在一个信封里,把2x个卢布放在另一个信封里,现在打开了一个信封里面有c个卢布,问是拿手中这个信封还是拿另一个信封使得能够拿到的卢布的期望最大 Input 三个整数a,b,c(1<=a,b,c<=1e9) Output 如果拿手中这个信封能够得到的卢布数量期望大就输出Stay with this envelope,否则输出原创 2017-03-08 14:52:09 · 392 阅读 · 0 评论 -
GYM 100488 G.Change-making Problem(贪心)
Description 给出一个长度为n的序列a[i],n+1种硬币,面值分别为1,a[1],a[1]*a[2],即为a序列的前缀乘积,每种硬币数量无限,要求用最少的硬币凑成s,输出最少硬币数 Input 第一行两个整数n和s表示a序列长度,之后n个整数a[i] (1<=n<=1e5,0<=s<=1e9,2<=a[i]<=1e9) Output 输出所用最少硬币数 Sample Inpu原创 2017-03-08 14:57:34 · 794 阅读 · 0 评论 -
GYM 100488 H.Tony Hawk’s Pro Skater(二分)
Description n个节目,每个节目得分是max(a[i]-(k-1)b[i],1),问演m个节目能够得到的最多分数是多少 Input 第一行两个整数n和m分别表示节目数和要表演的节目数,之后n个整数a[i]和n个整数b[i] (1<=n<=1e5,0<=m<=1e9,1<=a[i],b[i]<=1e9) Output 输出最大得分 Sample Input 3 6 9 7原创 2017-03-08 19:27:27 · 408 阅读 · 0 评论 -
GYM 100030 C.Pink Elephants(组合数学)
Description n只大象,每只大象高度为不超过m的自然数,且每只大象的身高都比它前面的大象高,问满足条件的大象序列有多少种 Input 两个整数n和m分别表示大象数量和大象身高上限(1<=n,m<=200) Output 输出满足条件的方案数,结果模1e9+7 Sample Input 2 4 Sample Output 6 Solution 简单组合,答案显然为C(原创 2017-03-05 13:12:46 · 456 阅读 · 0 评论 -
GYM 100030 D.Broadcasting(水~)
Description n台电脑,两两相连可以互传数据,每台电脑每秒可以同时给k台电脑传数据,现在只有1台电脑有数据,问最少需要几秒使得所有电脑都有该数据 Input 两个整数n和k分别表示电脑数量和一台电脑每秒最多可以传输数据的电脑数(1<=n,k<=1e9) Output 输出使得是所有电脑都有数据所需的最少时间 Sample Input 4 1 Sample Output 2原创 2017-03-05 13:18:27 · 561 阅读 · 0 评论 -
GYM 100030 E.Tests Preparation(枚举)
Description n场考试,共m个错误,给出每场考试所犯错误的编号,问最少几场考试能够包括这m个错误 Input 第一行两个整数n和m分别表示题数和错误数,之后n行第i行输入一整数k表示第i场考试所犯错误数,之后k个整数表示所犯错误编号(1<=n<=20,1<=m<=60,1<=k<=m) Output 首先输出所需的最少考试数cnt,之后输出这cnt场考试的编号,如有多重方案输出任原创 2017-03-05 13:31:06 · 444 阅读 · 0 评论 -
GYM 100030 F. Magic Chains(hash+bfs)
Description 给出n个长度相同的字符串,对应位置只相差一个字母的字符串可以互通,距离为1,问第一个字符串和第n个字符串是否互通,如果互通则输出最短路径,否则输出FALL Input 第一行一整数n表示字符串数量,之后n个长度不超过10的长度相等的只由小写字母组成的字符串(2<=n<=60000) Output 如果第一个和最后一个字符串互通则输出最短路径,否则输出FALL Sa原创 2017-03-05 13:56:49 · 534 阅读 · 0 评论 -
GYM 100030 G.Procrastination(贪心)
Description n场考试,第i场考试会从c[i]道题目中等概率选出一题,所有题目都不同,现在只能学会k道题,问如果安排才能使得通过的考试的数量的期望最大 Input 第一行两个整数k和n表示考试数量和能学会的题数,之后n个整数c[i]表示第i场考试题目数量 (0<=k < 200000,1<=n<=2000,1<=c[i]<=100,k < sum{c[i]}) Output 输原创 2017-03-05 14:22:39 · 336 阅读 · 0 评论 -
GYM 100030 H.The Longest Good Substring(尺取)
Description 给出一个字符串,问这个字符串所有子串中出现不同字母数不超过k的最长的一个子串的起始位置和终止位置 Input 第一行一整数k,之后一个字符串,串长不超过1e5(1<=k<=26) Output 输出两个整数表示满足条件的最长子串起始和终止位置 Sample Input 3 abrakadabra Sample Output 4 8 Solution 简原创 2017-03-05 14:31:46 · 525 阅读 · 0 评论 -
GYM 100030 I.Prohibition(贪心)
Description 求树的最小支配集 Input 第一行一整数n表示点数,之后n-1行每行两个整数u,v表示树上一条边(1<=n<=200) Output 输出n个0或1,1表示该点被属于支配集 Sample Input 3 1 2 2 3 Sample Output 0 1 0 Solution 贪心,对于每个节点,看其儿子节点是否存在未被支配的节点,如果有则该点必须原创 2017-03-05 14:55:15 · 465 阅读 · 0 评论 -
GYM 100030 K.Triskaidekaphobia(水~)
Description 一个只有1和3的数字串,要求去掉最少的数字使得该串中不出现13 Input 一个只有1和3的数字串,长度不超过1000 Output 输出要使得整个串不出现13所需删去的最少数字 Sample Input 313 Sample Output 1 Solution 最后的合法串一定是3……31……1,那么枚举这个3和1的临界点,统计前面1的数量和后面3的数原创 2017-03-05 15:54:49 · 517 阅读 · 0 评论 -
GYM 100030 L.Make Your Donation Now(枚举)
Description n个人为一项慈善活动捐款,第i个人捐款上下限分别是a[i]和b[i],捐款的最小金额为p,如果p < a[i],那么这个人会捐款a[i];如果a[i]<=p<=b[i],那么这个人会捐款p;如果p > b[i],那么这个人不会捐款。问如果设定p使得捐款的总金额最大 Input 第一行一整数n表示捐款的人数,之后n行每行两个整数a[i]和b[i]表示捐款上下限(1<=n<原创 2017-03-05 16:13:17 · 529 阅读 · 0 评论 -
GYM 100488 I.Map Coloring(水~)
Description 给出一张无向图,用至多k种颜色染色,要求相邻两点颜色不同,给出一种合法方案 Input 第一行三整数n,m,k分别表示点数,边数和颜色数,之后m行每行两个整数u和v表示u和v之间有边(1<=n<=1000,0<=m<=n*(n-1)/2,1<=k<=n) Output 如果存在一种合法的染色方案则输出每个点的颜色,否则输出-1 Sample Input 3 2原创 2017-03-08 21:51:12 · 466 阅读 · 0 评论 -
GYM 101149 A.Balls in Urn(水~)
Description 一次箱子里有n种颜色的球,第i种颜色球有a[i]个,现在可以选出一个球得知其数量,之后会从箱子里一个个把所有球都拿出来要猜其颜色,让最坏情况下猜对的次数最大 Input 第一行一整数n表示球的颜色数量,之后n个整数a[i]表示第i种颜色的小球数量(1<=n<=2e5,1<=a[i]<=1e9) Output 输出最坏情况下猜对的最多次数 Sample Input原创 2017-03-19 09:19:43 · 630 阅读 · 0 评论 -
GYM 101149 B.No Time for Dragons(贪心)
Description n场战争,每场战争需要派a[i]名士兵去,幸存者b[i]人,问如何安排这些战争能够使得最后派出的总人数最少(一名士兵可以参加多次战争,但其只被派出了一次) Input 第一行一整数n表示战争数量,之后n行每行两个整数a[i]和b[i]分别表示派出的人数和幸存的人数(1<=n<=2e5,1<=b[i]<=a[i]<=1e9) Output 输出最少需要派出的人数 S原创 2017-03-19 09:25:31 · 671 阅读 · 0 评论 -
GYM 101149 C.Mathematical Field of Experiments(水~)
Description 给出一个素数 p,问0~p-1模p的二次剩余 Input 一个素数p(2<=p<=1e6) Output 输出p个数分别表示0~p-1模p的二次剩余,如果不是p的二次剩余则输出-1 Sample Input 5 Sample Output 0 4 -1 -1 3 Solution i是i*i%p模p的二次剩余,枚举i即可 Code#include<cs原创 2017-03-19 09:32:15 · 959 阅读 · 0 评论 -
GYM 101149 D.Behind the Wall(最小割-Dinic)
Description 给出一个n*m的地图,A[i][j]表示给(i,j)点建立屏障所需费用,现在给出一个点(x,y),要求用最小代价把(x,y)围住(即上下左右运动最终都会屏障挡住) Input 第一行四个整数n,m,x,y分别表示地图行列数以及要围住的点坐标,之后一个n*m矩阵A(3<=n,m<=50,2<=x<=n-1,2<=y<=m-1,0<=A[i][j]<=500,A[x][y]原创 2017-03-19 09:52:39 · 626 阅读 · 0 评论