每天签到
文章平均质量分 84
ICPC相关补题
ShY200
这个作者很懒,什么都没留下…
展开
-
2021杭电多校(MINIEYE)第十场补题
1003 Pty loves lines解题思路最后一段连续的可行答案其实很长,记录一下对于每个iii来说最后一段连续的起始位置然后暴力转移.代码#include<bits/stdc++.h>#define ll long long#define MAXN 1001001#define MOD 998244353#define rep(i,s,t) for(int i=(s),i##end=(t);i<=i##end;++i)#define dwn(i,s,t) for(原创 2021-08-25 01:38:37 · 260 阅读 · 0 评论 -
杭电多校(MINIEYE)第九场_补题
1002 Just another board game解题思路应该算博弈论的题目了,和拿石子的那道题很像。(最开始还是没死心(懒得动脑子)想直接循环做,果不其然超时了······)已知回合数,且两个人都是选择最佳策略,那么我们要使得游戏的价值最大或最小,那不得不考虑最后一步是谁走,也就是回合数k的奇偶性。举例来说就是:假设K走最后一步(k为偶数)。当R走倒数第二步时的最佳策略就是,要使得棋子落在的那一列的最小值最大。分两种情况:k为偶数时,K走最后一步,R就要使K能取到的最小值最大,那么原创 2021-08-25 01:07:23 · 110 阅读 · 0 评论 -
2021杭电多校(MINIEYE)第八场补题
1006 GCD Game解题思路转化为NIMI博弈,可以参照Nim博弈 · ACM Book (gitbooks.io)因为每一次能从一个数转到任何一个质因数的位置,因此就相当于有n堆石子,每一堆石子的个数就是这个数的质因数的个数。因此先打表,将10710^7107之内的数的质因数的个数先表示出来,然后用到的时候直接查询即可。代码#include <bits/stdc++.h>using namespace std;const int MAXN=1e7+10;int prime原创 2021-08-25 00:53:45 · 137 阅读 · 0 评论 -
2021杭电多校(MINIEYE)第七场补题
1003 Fall with Trees解题思路设树层与层之间的高为h,根节点为第一层,第二层两个结点间的距离的一半为a,则第二层是2a,第三层是3a,第五层是(7/2)a,可以推出每一层的长度的通项公式为:(4-(1/2)k)*a,其中k=n-2,n为层数。但是对只有两层的情况要进行特判。其实我们可以发现面积就是三角形加上几个梯形的面积。因此写出梯形面积公式后求和即可,涉及到等比数列求和的部分直接使用求和公式即可。代码#include <bits/stdc++.h>using na原创 2021-08-25 00:18:32 · 137 阅读 · 0 评论 -
2021杭电多校(MINIEYE)第五场补题
1004 Anther String定义F[i,j]F[i,j]F[i,j]表示字符串SSS中分别以i,ji,ji,j为左端点的两个子串满足k-匹配的最大长度。换句话说,F[i,j]F[i,j]F[i,j]等于使得S[i,i+L−1]S[i,i+L-1]S[i,i+L−1]与S[j,j+L−1]S[j,j+L-1]S[j,j+L−1]满足k-匹配的最大LLL。考虑如何计算所有的F[i,j](1≤i<j≤n)F[i,j](1 \le i<j \le n)F[i,j](1≤i<j≤n)原创 2021-08-13 20:05:16 · 175 阅读 · 0 评论 -
杭电多校(MINIEYE)第四场 补题
1004 Display Substring题目问题描述当我们在LED屏幕上显示一个字符串时,显示不同的字符可能会有不同的能耗。给定一个长度为 n 的字符串 S,由小写英文字母和每个字母的能量消耗组成。假设一个字符串的能量消耗是它所有字符能量消耗的总和。请找出 S 的所有不同子串的第 k 个最小能量消耗。请注意,字符串 S 的子串是 S 的连续子序列。如果两个字符串 S 和 T 的长度不同,或者至少存在一个满足 S[i]≠T[i] 的位置 i,我们就说这两个字符串 S 和 T 不同。输入输入的第原创 2021-08-05 10:12:11 · 234 阅读 · 0 评论 -
杭电多校(MINIEYE)第三场 补题
1003 Forgiving Matching题目问题描述Alice和Bob正在玩游戏。在这个游戏中,二维平面上有 n 条直线。 Alice 将首先在所有 n 条直线中选择恰好 k 条直线 l1,l2,…,lk,然后 Bob 将画一条直线 L。 Bob 的惩罚定义为 {l1,l2,…, lk} 与 L 共享至少一个公共点。请注意,两条重叠的线也共享公共点。Alice 想要最大化 Bob 的惩罚,而 Bob 想要最小化它。你将得到这 n 行,请编写一个程序来预测 Bob 对 k=1,2,3,…,n原创 2021-08-05 10:11:13 · 189 阅读 · 0 评论 -
2021杭电多校(MINIEYE) 第二场 补题
1005 I love string题意给n个字符,依次添加进字符串。每次可以添加到当前串的首或者尾。要求最终串的字典序最小。求使得最终串字典序最小的添加方案数。n<=10^5解题思路先考虑字典序最小的字符,找出这些字符的第一次出现的位置,可以发现,这个第一次出现的位置之后的放置方式是唯一的。考虑剩下的部分,依旧是找字典序最小的字符。最终结果就是相同连续前缀的长度的2的次幂。代码#include<bits/stdc++.h>using namespace std;con原创 2021-07-27 21:04:22 · 282 阅读 · 0 评论 -
2021杭电多校(MINIEYE) 第一场 补题
1001 Mod, Or and Everything问题描述你需要给出一个整数n,需要计算(n mod 1) | (n mod 2) |… | (n mod (n - 1)) | (n mod n).其中“|”代表位运算或输入第一行包含整数T(1≤T≤5000)表示测试案例的数量。对于每个测试案例,都有一个整数n(1≤n≤ 1012 )在一行。输出对于每个测试案例,将答案打印在一行中。示例输入512345样本输出00113解题思路签到题。公式不太好打还是原创 2021-07-25 23:03:57 · 633 阅读 · 0 评论