上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 32 下一页
摘要: 题目链接 #题目大意 你的键盘出现了奇妙的故障,所有键都会正常的工作,但是键盘上的Home以及End键有时候会莫名其妙的自己按下。但是盲打很熟练的你一般习惯关闭显示器打字,因为这样很酷。现在你正在打一段文本,假设你已经知道这段文本以及Home和End键会什么时候出现故障自行按下。请你编写一个程序,求 阅读全文
posted @ 2020-09-15 21:30 shuitiangong 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 题目链接 #题目大意 有一座山旁边为N个山洞连成环形,编号为0,1,2,3,4,...n-1一头兔子和一只狼来到了这座山上.为了防止被狼捉到,兔子需要藏进某个洞里 ,狼第一次进入编号为0的洞口,然后每次只能前进m个洞口,例如m=2,n=6,则狼将进入0,2,4,0,2,4....所以兔子只需躲在编号 阅读全文
posted @ 2020-09-15 17:51 shuitiangong 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 题目链接 #题目大意 有n头狼排成一排,每只狼两个属性,攻击力和加成值,狼的实际攻击力等于自身攻击力加相邻狼的加成值,被杀死之后的狼对相邻的狼的攻击力的加成会被取消,同时,原先与 被杀死的狼相邻的两头狼会变成相邻的狼。问杀死所有狼受到的伤害值最小值。 #解题思路 首先可以看出来第一行的数字对决策没什 阅读全文
posted @ 2020-09-13 10:35 shuitiangong 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 题目链接 #题目大意 给n个数a,之后再给m组数b,b中每组数第一个数如果大于a中的某个数,则可以删除这个数,第二个数代表这个数一次能删除几个连续的数。a中的每个数只能按顺序被删除,问最小删除次数。 #解题思路 首先先把b中的数按第一个数排序,然后用一个数组记录大于等于这个数的最大次数,如果次数用完 阅读全文
posted @ 2020-08-31 15:24 shuitiangong 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 题目链接 #题目大意 略 #解题思路 可以逐位考虑当前数位上数字为1时的数字数量然后累加起来,因为每次只考虑当前数位的贡献,所以在计算过程中不存在重复的问题。 举个例子,比如1361092,我们用x代替0~9十个数字。 1.对于当前位的数字,如果大于1,比如说9的情况,那么十位为1的数字,也就是1x 阅读全文
posted @ 2020-08-31 11:25 shuitiangong 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 题目链接 #题目大意 整数n可以划分成一些正整数之和,问有多少种不同的划分方法。 #解题思路 用生成函数的幂做整数n,结果的系数做划分方案。 #代码 const int maxn = 2e2+10; const int maxm = 2e2+10; int n, c1[maxn], c2[maxn] 阅读全文
posted @ 2020-08-29 19:20 shuitiangong 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 题目链接 #题目大意 有个n*m的矩阵,从他的四条边看去都有数,问有多少种可能。 #解题思路 利用dp来求解,设dp[i][j]为$i\times j$矩阵的答案。那么对于一个i行j列的矩阵,我们可以拿之前$1\times (j-1)$的矩阵来做,然后将其和剩下的空行排列组合,为了保证空行的j-1列 阅读全文
posted @ 2020-08-28 23:50 shuitiangong 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 题目链接 #题目大意 给出g,l,求有多少对a,b,c满足gcd(a,b,c)=g,lcm(a,b,c)=l,不同的数之间顺序不同也算不同的对。 #解题思路 首先肯定只有$g|l$的情况下才有解。从lcm下手,因为三个数的gcd是一样的,所以lcm先除去gcd,然后对l/g分解质因数。 设其中一个质 阅读全文
posted @ 2020-08-27 21:38 shuitiangong 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 题目链接 #题目大意 求区间内与n互质的数的数量。 #解题思路 对于区间显然用[b,1]-[1,a-1]的结果就行了。反过来想,从原来的数中删去与n不互质的数。将n分解质因数,然后利用容斥原理去掉与n有公因数的数即可。 假设分解质因数的结果是2,3,5,观察发现结果就是去掉能被2,3,5整除的数,加 阅读全文
posted @ 2020-08-27 18:59 shuitiangong 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 题目链接 #题目大意 给一串数字要求删除几个数字之后输出最少的数字。 #解题思路 很明显假如前一位比后一位大的话,删除前一位结果更优,如果剩下的是个不下降序列还能删的话就从后往前删,用单调栈就能很简单的解决。 #代码 const int maxn = 1e6+10; const int maxm = 阅读全文
posted @ 2020-08-27 18:47 shuitiangong 阅读(85) 评论(0) 推荐(0) 编辑
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 32 下一页