真题练习
文章平均质量分 64
代码小白的练习之路
Cosmic_Tree
什么时候才能像杨大佬一样强啊(´;︵;`)
展开
-
Gym - 103069B - Rectangle Flip 2( 暴力 + 思维 )
题目链接:点击进入题目题意n * m 的网格,每秒删除其中一个小网格,问每秒后,还剩余多少个好的矩形 ( 只要是矩形,同时矩形内没有被删除的格子 )思路蚌埠住啦,这题因为万恶的javaweb被我搁置了好久,我老早就想写了,难受≧ ﹏ ≦按照顺序删除点,对于每个删除的点,看会影响多少新矩形。思考一下(脑袋里构一下图),一个新删除的点,能影响到的,只能是以这个点x为中轴,上下每行左右扩到最大的部分(最大就是指碰到被删除的点,或者边界),这个上下每行也是在x轴上上下扩到最大的。我们若是确定每行能扩原创 2021-11-22 17:17:26 · 702 阅读 · 0 评论 -
HDU-7134-Public Transport System ( 最短路 + 拆点 )
题目连接:点击进入题目题意待补思路还是看官方题解吧,懒~~~代码//#pragma GCC optimize(3)//O3//#pragma GCC optimize(2)//O2#include<iostream>#include<string>#include<map>#include<set>//#include<unordered_map>#include<queue>#include<原创 2021-10-13 21:33:04 · 274 阅读 · 3 评论 -
2021牛客暑期多校训练营6 - F - Hamburger Steak( 构造 )
题目链接:点击进入题目题意n 个汉堡,m 个锅,每个汉堡都有做熟所需时间 tit_iti,一个汉堡可以在一个锅上做,也可以分两次在两个锅上做,一个锅每刻只能做一个汉堡,一个汉堡每刻只能在一个锅上。求一个汉堡放置方案,使所有汉堡做好所需时间最少( 这个所需时间,应该是所有汉堡都做完的那一刻时间 )思路代码...原创 2021-08-31 19:37:02 · 162 阅读 · 2 评论 -
Gym - 102001H Lexical Sign Sequence( 树状数组 + 构造 )
题目链接:点击进入题目题意思路代码#include<bits/stdc++.h>#define pii pair<int,int>#define lowbit(x) x & -xusing namespace std;const int maxn=1e6+10;int n,k,p[maxn],flag,c[maxn],vk[maxn];bool vis[maxn];set<int>st;struct node{ int a; in原创 2021-08-31 19:36:11 · 180 阅读 · 0 评论 -
Gym - 102483G Game Design( 思维 + 模拟 )
题目链接:点击进入题目题意思路代码#include<bits/stdc++.h>#define pii pair<int,int>using namespace std;const int maxn=1e6+10; const int base=1001;int pos[maxn];string s;vector<pii>v;void print(int x,int y){ cout<<(-x)<<" "<&原创 2021-08-31 19:35:38 · 473 阅读 · 0 评论 -
HDU - 7071 Guess the weight ( 思维 + 树状数组上二分 )
题面链接:点击进入题目题意略。。。。(待补)思路看题目我们大概可以知道只看抽取的前两张牌是什么就行了。因此,若此时共 sum 张牌,那么总的方案数( 也就是最终答案的分母 )就是 sum * ( sum - 1 ) 种情况。再看分子部分:( 这里定义所有牌的编号都是不同的,也就是说,编号虽然不同,但可能值相同 )( 定义获得第二张牌的概率为获胜的概率 )对于卡牌 i ,设价值 < w [ i ] 的卡牌有 a 张,价值 > w [ i ] 的卡牌有 b 张,既然求最大的获胜原创 2021-08-18 21:20:05 · 241 阅读 · 0 评论 -
HDU - 7063 - Square Card ( 几何 )
题目链接:点击进入题目题意有两个圆,第一个中心坐标(x1,y1),半径r1为得分圆;第二个中心坐标(x2,y2),半径r2,为奖金圆;还有一张正方形卡片,边长a,扔卡片,严格完全落入得分圆得分,严格完全落入奖金圆得奖金,问 既得奖金又得分的概率 与 得分的概率 的 比值 。思路要求严格完全落入才算成绩,那么画一下卡片有成绩的轨迹图,大概可以知道是个新圆。那么就成了两个新圆的面积交与第一个新圆的面积的比值。( 特判一下不存在新圆的情况 )代码//#pragma GCC optimi原创 2021-08-15 13:57:51 · 247 阅读 · 0 评论 -
2021牛客暑期多校训练营8 - J - Tree ( ST表 + 模拟 )
题目链接:点击进入题目题意一棵树, A 在 s 点,B 在 t 点,A 先手,两个人移动后,移动之前的点与点周围相连的边都会消失,每个人移动的步数,就是自己的分数,每个人都想 自己的分数 - 对方的分数 差值 最大,问最后 A的得分 - B的得分 差值是多少。思路我们大概可以想到,如果有人没有走在两人之间的那条路上,那么就是互不影响的,也就是说,如果其中一个人离开了两人之间的那条路,那么另一个人就一定走可以走的路中最长的那条路。我们将 s 、t 之间的路径看作一段区间,以 s 为起点,将路上原创 2021-08-12 21:51:04 · 393 阅读 · 1 评论 -
HDU - 7047 - Link with Balls ( 插板法 + 组合数 )
题目链接:点击进入题目题意2n 个框,从第 2x - 1 个框里可以得到 kx 个球 ( k >= 0 ) ,从第 2x 个框里可以得到 <= x 个球。问得到 m 个球,有多少种取法。思路思路一:根据题意我们大概可以得到,对于一个位置 i ,若是奇数,则可以得到 <= ( i + 1 ) / 2 个球,若是偶数,则可以得到 k * i / 2 个球 ( k >= 0 ) 。不管从哪个框里拿球,都是有限制的。要么是拿某个数的倍数,要么拿比某个数小的数,这里有很多限制条原创 2021-08-11 13:31:42 · 341 阅读 · 4 评论 -
HDU - 7049 - Link with Grenade ( 物理 + 数学 )
题目链接:点击进入题目题意你站在一个很高很高很高的地方,你手里有颗手榴弹,随便选一个方向,以初速度v0扔出去,t秒后爆炸,考虑重力加速度10m/s210 m/s^210m/s2,手榴弹爆炸范围为半径为R的球,人要是在这个范围内必死,问人不死的概率。思路代码...原创 2021-08-11 13:31:28 · 245 阅读 · 0 评论 -
HDU - 7046 - Fall with Trees ( 思维 + 精度 )
题目链接:点击进入题目题意k 层完美二叉树,给你根节点的坐标,以及根节点左右儿子的坐标,让你求 k 层完美二叉树所有节点形成的凸包的面积 ( 就是最外面一层包起来的图形面积 ) 。思路思考一下,总面积应该是一个顶端的三角形加上 k - 2 个梯形的面积,顶端三角形的下边,同时是下一个梯形的上边,而下一个梯形的下边又是下下一个梯形的上边。它们之间是有联系的。看看那个图,大概就能想到,下一层的相邻两点之间的距离是这一层相邻两点之间的距离的一半,下一层的点的个数是这一层点数的 2 倍,因为每一层的相原创 2021-08-11 13:31:08 · 225 阅读 · 0 评论 -
2021牛客暑期多校训练营8 - K - Yet Another Problem About Pi( 思维 + 暴力枚举 )
题目链接:点击进入题目题意一条长度为 π\piπ 的线,可以任意弯曲,平面上都是长 w 宽 d 的网格,问线最多能经过多少网格。思路线可以任意弯曲,那对于一个交点 ( 被四个网格包围 ) ,这个线如果把他圈起来,也就是围着这个点形成一个圆,那就可以经过 4 个网格,那么这个圆可以无限小,小到周长忽略不计,那么就可以看作经过一个交点,就相当于经过了它周围的格子。那么问题就转换成立,怎样经过格点可以经过尽可能多的格子。一直按照一个方向走,走的格点越多,经过的格子越多。那么现在问题变成了,是顺着原创 2021-08-11 13:30:51 · 151 阅读 · 0 评论 -
2021牛客暑期多校训练营8 - E - Rise of Shadows( 思维 )
题目链接:点击进入题目题意给你一个年份,判断是不是闰年同时还是素数。(闰年:( % 4 = 0 && % 100 != 0 ) || ( % 400 = 0 ) )思路不是( 我为什么写这个题?!。。。。。多半是因为赛后发觉闰年不可能是素数吧( •̀ ω •́ )✧ )代码// Problem: Rise of Shadows// Contest: NowCoder// URL: https://ac.nowcoder.com/acm/contest/11259/E原创 2021-08-11 13:29:54 · 298 阅读 · 0 评论 -
2021牛客暑期多校训练营6 - H - Hopping Rabbit( 扫描线 )
题目链接:点击进入题目题意n 个矩形,给定 d ,找一个位置 ( x , y ) ( x = x0x_0x0 + 0.5 , y = y0y_0y0 + 0.5 ) ,使所有点( x + k * d , y + k * d )( k 任意整数 ) 均不落在矩形内,若存在输出 “ YES ” 以及 x0x_0x0 , y0y_0y0 ;否则输出 " NO " 。思路代码...原创 2021-08-08 11:05:09 · 179 阅读 · 0 评论 -
2021牛客暑期多校训练营5 - J - Jewels( 二分图带权最大匹配 - KM算法 - O(n^3) DFS版 )
题目链接:点击进入题目题意打捞 n 个货物,货物会动,每一个时刻只能打捞一个,打捞的代价是三维空间上的距离平方。思路代码原创 2021-08-05 11:02:07 · 152 阅读 · 0 评论 -
HDU - 7018 - Banzhuan( 思维 + 数学 )
题目链接:点击进入题目题意三维空间 n * n * n 内放方块,保证前面看是 n * n ,左面看是 n * n ,上面看是 n * n 。放置一块方块的代价是x * ( y ^ 2 ) * z,求最大代价跟最小代价。思路最大代价就是全填满嘛,不过这个放置的时候有技巧,就是可以在高的地方放,然后让方块掉下去,越高放置代价越大,所以我们只要让所有方块都是从 z = n 的地方放下去就可以了,代价计算 :对于 y = 1 , z = 1 , x 的代价和 = (1+n)∗n2∗z\frac{(原创 2021-08-04 22:51:20 · 187 阅读 · 0 评论 -
2021牛客暑期多校训练营5 - B - Boxes ( 概率问题 )
题目链接:点击进入题目题意n 个盒子,每个盒子里面可能是白球也可能是黑球,概率 12\frac{1}{2}21,打开盒子的代价wiw_iwi,你有一些 hints 的机会,即每次花费 c 代价,知道剩下没有打开的盒子中还有多少个黑球。问知道所有盒子的球的颜色的最小成本的数学期望是什么?思路1整体就是两种方法,一种就是我不做hints操作,我直接全开;另一种就是我做一次hints操作,然后再开( 只做一次就够了,做多了没用,因为你知道总球数,还知道黑色总球数目,同时每次开盒你还知道什么颜色原创 2021-08-03 10:06:30 · 193 阅读 · 0 评论 -
2021牛客暑期多校训练营2 - G - League of Legends( dp + 单调队列 )
题目链接:点击进入题目题意n 个区间,分成 k 组,每组取相交的公共长度,使所有组的相交长度和最大思路将区间分成两部分:一部分是包含其它区间的大区间,对于这类区间,他既可以单独算作一组,其长度计入答案;又可以并入它所包含的那组,不影响答案。另一部分就是一些没有包含关系的区间。我们可以对这些区间进行排序 ( 左端点排序 ) ,然后进行 dp 。规定 dp [ i ] [ j ] 代表前 i 个区间分成 j 组的交和的最大长度。假设区间形式 ( lil_ili , rir_iri )d原创 2021-07-30 17:02:28 · 256 阅读 · 0 评论 -
HDU - 6988 - Display Substring ( 二分 + 后缀数组 )
题目链接:点击进入题目题意给你 26 个小写英文字母的各自价值,给你一个字符串,在所有不同的子串中,求第 k 小的子串权值。思路二分答案,用后缀数组来 check 二分值 mid 。具体 check :遍历后缀数组,对于后缀的所有前缀,它们的权值是递增的,可以再次二分求此后缀中权值小于等于 mid 的所有前缀数量 ( 这里可以用前缀和求前缀的权值 )。这里注意,因为会有重复的子串,也就是会重复将某些前缀计入答案,所以我们还要减去重复计算的部分。这里可以使用 height 数组,height原创 2021-07-29 21:26:36 · 244 阅读 · 0 评论 -
2021牛客暑期多校训练营2 - K - Stack( 栈 + 拓扑 )
题目链接:点击进入题目题意给出 b 数组的求解方法( 根据 a 得到 b ),然后给你若干个 b 数组的值,让你求一个合法的 a 数组思路贪心模拟栈运行的过程,从小到大枚举 b 的每个位置。若是 b [ i ] 这个位置没数,那就入栈一个比栈顶大的数( 我们这里入栈的是下标,意味着 a [ i ] > a [ 栈顶 ] ) ,让 b [ i ] = b [ i - 1 ] + 1 ;若是 b [ i ] 这个位置有数,那么我们先判断 b [ i ] 与 栈元素个数的关系:若是原创 2021-07-28 19:20:19 · 152 阅读 · 0 评论 -
HDU - 6975 - Forgiving Matching ( FFT字符串匹配 )
题目链接:点击进入题目题意给你两个字符串 S 、T ( 只包含 字符 0 - 9 以及 * ), S 长 n , T 长 m , * 是通配符( 即可以与任何字符匹配 ),问在匹配中最多允许 k( 0 - m )个不同位置的情况下,S 中最多有多少个能与 T 匹配的子串。思路对于 S 的所有长度为 m 的子串,维护一个 f 记录这个子串与 T 匹配的位置数,知道了 f 也就是知道了这个子串完全匹配所需要的最小的 k 。假如没有通配符,对于每个字符 c ,原创 2021-07-28 15:15:14 · 368 阅读 · 0 评论 -
2021牛客暑期多校训练营4 - J - Average( 二分 + 最大连续字段和 )
题目链接:点击进入题目题意求矩阵的( 宽 >= x , 高 >= y 的平均值最大的 )子矩阵。思路要是看懂了上面的图片,就明白问题就转换成了分别求 a、b 数组的 有长度限制的( a 是不小于 x , b 是不小于 y ) 连续子序列的最大平均值。这个问题不懂的可以点点这里。代码//#pragma GCC optimize(3)//O3//#pragma GCC optimize(2)//O2#include<iostream>#include<st原创 2021-07-27 10:23:16 · 154 阅读 · 0 评论 -
2021牛客暑期多校训练营2 - WeChat Walk ( 分块 )
题目链接:点击进入题目题意n 个人,m 对好友关系,q 次修改,每次修改增加一个人的步数,同时每个人都有个显示微信步数的排行榜( 自己以及自己的好友在上面 ),问 q 次修改后,每个人在自己的排行榜中保持冠军的时间。思路对于每次修改,如果暴力的去更新当前点以及跟它相连的点,那么时间复杂度可能会达到O(n2)O(n^2)O(n2) 。对此,我们可以有目的的修改,运用分块,按照度数,将点分为大小点,小点暴力,大点维护。设度数 > limit 为大点,度数 <= limit 为小原创 2021-07-26 21:23:22 · 163 阅读 · 0 评论 -
2021牛客暑期多校训练营2 - J - Product of GCDs ( 分解质因数 + 组合数 + 欧拉降幂 )
题目链接:点击进入题目题意给一个集合,求所有大小为 k 的子集的 gcd 之积思路枚举所有 gcd ,对于每个当前枚举的 gcd = i,统计它的倍数出现的个数 num,i 的出现的倍数形成集合A。gcd = i 且大小为 k 的子集都是 A 的子集,A 的大小为 k 的子集共 c ( num,k ) 个,但不都是所有子集的gcd 都等于 i , 还可能等于 i 的倍数。所以我们在计算 gcd = i 且大小为 k 的子集的个数的时候还要去除 gcd =( i 的倍数 ) 的子集的影响。原创 2021-07-25 19:45:54 · 324 阅读 · 0 评论 -
2021牛客暑期多校训练营2 - F - Girlfriend ( 球体积相交 )
题目连接:点击进入题目题意A、B、C、D、k1、k2 已知,根据不等式, P1 的取值会形成一个图形,P2 类似,求两个图形的交思路这个式子取等号是阿波罗尼斯圆,二维平面是圆,三维是球壳,取不等式就变成了实心球,所以就变成了两个球求相交体积。对式子带入,计算,化简(貌似这里,,,跟知不知道阿波罗尼斯圆没什么关系?!)备注:公式图片来自于here代码(模板偷自刘爷)//#pragma GCC optimize(3)//O3//#pragma GCC optimize(2)//O原创 2021-07-25 11:55:15 · 222 阅读 · 0 评论 -
HDU - 6958 - KD-Graph ( 二分 )
题目链接:点击进入题目题意n 点 m 边的无向图,将 n 个点分成 k 组,要求:1、一组内的任意一对点 p、q ,p、q 之间至少有一条路径上的最大边权 <= D;2、不同组内的任意一对点 p、q ,p、q 之间所有路径上的最大边权 > D;求最小的非负整数D。思路最小的D要么是0,要么是边中的一条。可以对所有边升序排序( 算上0 ),然后二分边权,对于二分的边权,判断可以将图分成几部分。代码//#pragma GCC optimize(3)//O3//#pragm原创 2021-07-24 21:12:26 · 157 阅读 · 0 评论 -
2021牛客暑期多校训练营3 - B - Black and white( 最小生成树 )
题目链接:点击进入题目题意全白色的 n * m 的表格,每个位置表格都有一个涂黑所需的价值 c ( i , j ) ,对于任意的 两行 与 两列 所相交的四个表格(四个交点),若是其中三个是黑色的,则第四个可以被免费涂黑。问将所有表格涂黑所需的最小代价。思路可以画一下矩形,对于矩形的四个顶点就相当于四条线的四个交点,观察这四个点可以看出,他们的 x 与 y 相互联系,若是任意去除其中一个顶点,则原来的 x 与 y 还是互相联系,但是若是任意去除两个顶点,则原来的 x 与 y 必然有断开联系的。原创 2021-07-24 21:11:13 · 186 阅读 · 0 评论 -
HDU - 6957 - Maximal submatrix( 单调栈 )
题目链接:点击进入题目题意一个 n * m 的矩阵,让你找出每列非递减的最大的子矩阵。思路跟找全 1 矩阵很相似,记录一个 h 数组,对于每个位置,记录它所在这列它的上方最长非递减序列的长度( 算上它本身 ),这个 h 数组,就相当于宽为 1 的 每列非递减 的子矩阵的高度,剩下的就是遍历每一行,用单调栈求每一行的最大每列非递减子矩阵。代码#include<iostream>#include<string>#include<map>#include&原创 2021-07-23 22:05:08 · 184 阅读 · 0 评论 -
2021牛客暑期多校训练营1 A - Alice and Bob ( 暴力预处理sg )
题目链接:点击进入题目题意两堆石头,一堆 n 个,一堆 m 个,两个人轮流拿,每次可以从一堆中拿 k ( k > 0 ) 个,同时从另一堆中拿 s * k ( s >= 0 ) 个,最后不能拿的输,问谁会赢。思路sg [ i ] [ j ] : 第 一堆是 i 个,第二堆 j 个时的状态,1 表示先手必胜,0 先手必败。sg [ 0 ] [ 0 ] = 0枚举 i , j ,对于必败的状态,从此状态枚举 k 与 s ,更新 sg [ i + k ] [ j + s * k ]原创 2021-07-23 19:47:12 · 211 阅读 · 0 评论 -
2021牛客暑期多校训练营1 H - Hash Function ( FFT )
题目链接:点击进入题目题意给你一个集合 S ,让你找一个最小模数 seed ,满足集合内所有数取模后的值各不相同思路如果两个数 x , y , 取模后的值相同,则需要满足:| x - y | % seed == 0所以如果已知模数 seed ,若对于所有的 | a [ i ] - a [ j ] | ( 1 <= i, j <= n, i != j )都满足不是模数 seed 的倍数,那么此模数就是最小模数。对于所有的 | a [ i ] - a [ j ] | ( 1 &l原创 2021-07-23 16:57:28 · 197 阅读 · 0 评论 -
2021牛客暑期多校训练营1 F - Find 3-friendly Integers -( 数位dp )
题目链接:点击进入题目题意如果一个自然数存在一个子串是 3 的倍数那它就是 3-friendly 的。多组数据,求 L~R 中 3-friendly 的数的个数。思路对于每一个位置pos,维护一个state状态,记录这个位置之前以pos-1为右边界的连续和%3的所有结果(0、1、2)(我用二进制记录状态,0代表这位没出过,1代表出现过,第一位对应%3=0,第二位对应%3=1,第三位对应%3=2)代码#include<iostream>#include<string>原创 2021-07-23 16:56:28 · 146 阅读 · 1 评论 -
Ancestor Age - ( 中国剩余定理 - 不互质 )
题目:题意给你 e 对余数与模数让你求满足条件的最小的解( 解要比所有模数大 )思路中国剩余定理( 不互质 ),因为求的是 满足条件的最小值( 不是最小值 ),所以在结果处取模的地方将结果+mod到满足条件即可代码:#include<iostream>#include<string>#include<map>#include<set>//#include<unordered_map>#include<queue>原创 2021-04-14 21:01:37 · 253 阅读 · 0 评论 -
Function-Cuber - ( 交互 + 思维 )
题目链接:点击进入题目:题意fcb ( a ) 是数组 a 里每相邻两个数的乘积的和M ( a , u , v ) 是生成与 a 等长的数组 a ’ ( a ’ [ u ] = a [ u ] + 1 , a ’ [ v ] = a [ v ] + 1 , 其它 a ’ [ i ] = a [ i ] )给你数组a的长度与 fcb ( a ) 的值 s你每次询问 fcb ( M ( a , u , v ) ) 的值,最多 n + 25 次询问,让你求这 n 个数是啥思路写写画画得到:原创 2021-04-12 16:29:42 · 189 阅读 · 0 评论 -
Chat Group -( 组合数 + 乘法逆元 )
题目链接:点击进入题目题意n 个人, >= k 人就可以组成一个小组,问能组成多少个小组思路答案 = c ( n , k ) + … + c ( n , n )= 2 ^ n - ( c ( n , 0 ) + … + c ( n , k - 1 ) )c ( n , i ) = c ( n , i - 1 ) * ( n - i + 1 ) / ii 的逆元: 1 / i = i ^ ( mod - 2 )代码#include<iostream>#includ原创 2021-03-29 20:15:46 · 584 阅读 · 0 评论 -
Eating Plan - ( 思维 + 暴力 )
题目链接:点击进入题目题意一个 n 的排列, m 次询问,每次给出一个 ki ,求最小的连续区间长度,满足 ( al ! + … + ar ! ) % t >= ki , 没有满足情况的区间输出 -1 。思路模数 t = 998857459 非素数,最大因子为 2803 ,因此当 i >= 2803 时,阶乘 i ! % t = 0 。所以我们只需要考虑 2803 以下的数即可。将2803以下的数的阶乘以及原位置记录一下,存于新的结构体数组中。对阶乘取前缀和,然后 n ^ 2原创 2021-03-25 14:07:45 · 264 阅读 · 0 评论 -
Best ACMer Solves the Hardest Problem-( 预处理 )
题目链接:点击进入题目题意n 个初始点,m 次操作,每个点有权值1 操作,插入点( x ,y )权值 w2 操作,删除点( x ,y )3 操作,将每个与点( x , y )距离为 √ k 的点的权值都增加 w4 操作,查询与点( x ,y )距离为 √ k 的点的权值和操作时输入的点的坐标不是实际点的坐标实际点的坐标 =( 输入点坐标 + 最近一次查询的答案 )% 6000 + 1思路预处理 k ,将其拆成 i * i + j * j 的模式,记录 i , j3、4 操作的原创 2021-03-23 21:49:10 · 293 阅读 · 0 评论 -
UVALive - 8521-LOL - ( 排列组合 )
题目链接:点击进入题目题意5 个人,100 个英雄,给你 5 个人关于 100 英雄的拥有情况( 0 - 没有,1 - 有 ),每个人用一个,办一个,除去自己队伍的五个人,对面队伍的五个人也是用 5 个办 5 个,求双方对战方案数。思路四个 5自己队伍 5 个出战( 必须是自己有的才可以出战 )自己队伍 5 个禁用( 当出战确定,禁用的就是,剩下的 95 个 中选 5 个,有序 )对面队伍 5 个出战( 剩下的 90个 中选 5 个,无序 )对面队伍 5 个禁用( 剩下的 85个 中选原创 2021-03-23 21:16:00 · 195 阅读 · 0 评论 -
Gym - 101775L-SOS ( 博弈 )
题目链接:点击进入题目题意一行 1 * n 的网格,熊猫跟绵羊分别在格子里下棋(棋子为 S 或者 O ),熊猫先手,先凑成 SOS 的人获胜。如果最后都没凑成就平局。思路经过一通乱写,发现 S _ _ S 这种情况下,谁先手谁输。( 暂且称这种情况为决胜局 )但是想要凑成这种情况必须 n >= 7只有当 n >= 7 时,熊猫取中间为 S ,接下来不论绵羊取哪个,熊猫都可以凑出决胜局面 ,但是这种局面,不是每一种都是熊猫胜只有当 n 是 奇数 的时候熊猫才必胜,当 n原创 2021-03-23 18:34:44 · 230 阅读 · 0 评论 -
MUV LUV EXTRA -( kmp最小循环节 )
题目链接:点击进入题意一个无限循环小数( 从小数点后 某一位 开始依次不断地重复出现前一个或一节数字的十进制无限小数,叫做循环小数 ),真实价值 = a * p - b * l ( a , b 是题目给的, l 是循环节的长度, p 是循环部分的长度( 即从那个 “某一位” 往后所有数字的长度 ),题目只给了这个给无限循环小数的前一部分,也就是说不确定循环是从哪开始,不知道循环节的长度 ),求最大的真实价值。( 小数点前面部分不会对结果产生影响 ---- “ 没用 ” )思路将小数点后面部分原创 2021-03-18 18:21:37 · 338 阅读 · 0 评论 -
Going Home - ( 抽屉原理 )
题目链接:点击进入题目题意给一个长度为 n 的数组,问是否存在 x , y , z , w ( 四个数互不相同 ) ,满足 a [ x ] + a [ y ] = a [ z ] + a [ w ] ;思路暴力枚举 x 与 y ,得出和值 C ,2 <= C <= 5e6。有 n ^ 2 对( x , y ),和值 C 大约有 5e6 种取值,当 n ^ 2 > 5e6 时,根据抽屉原理,必有一个和值对应两个以上的( x , y )对,但是,此时可能对应的( x , y )原创 2021-03-16 19:43:05 · 1322 阅读 · 10 评论