![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
刷题记录
文章平均质量分 50
zhSunw
xmu AI硕博连读——梦想是有“少一点功利的追逐,多一点不为什么的坚持”的勇气和毅力
展开
-
CSDN竞赛53期题解
贝博士最近收到了一些来自外星的信号,它们看起来是一些字符。经过贝博士的转码,把这些字符用26个小写拉丁字母表示。贝博士叫来了助手艾小姐,请她把这些字母中出现次数最多者挑出来,并按字母表顺序排列出来(忽略空格)原创 2023-05-18 16:17:21 · 98 阅读 · 0 评论 -
PAT顶级(树状数组+逆序对)——1027 Larry and Inversions (35 分)
1027 Larry and Inversions (35 分)解题思路:这题让求每一个子区间翻转之后整体的逆序对,那么显然l-r的区间翻转,对1到l-1和r+1到n的这两段区间是没有影响的也就是说l-r子区间翻转之后整体的逆序对=原本逆序对-翻转区间的逆序对+翻转区间翻转之后的逆序对,而翻转区间翻转之后的逆序对=翻转区间总数字对数-翻转区间翻转的逆序对即有l-r子区间翻转之后整体的逆序对=原本逆序对+翻转区间总数字对数-2*翻转区间翻转的逆序对。那么问题清晰了,我们只需要知道每一个子区间的逆原创 2021-08-24 01:45:27 · 189 阅读 · 0 评论 -
PAT顶级(尺取||二分找最长unique子串)——1026 String of Colorful Beads (35 分)
1026 String of Colorful Beads (35 分)解题思路:倒数第二题居然比想象中间简单太多,难度不大,大多数应该还是用尺取的双指针做法不断维护更新左右端点找最大不重复子串与最大值,个人不太喜欢尺取算法(总感觉这算法很阴间,经常用错就不喜欢写了),这里使用二分强行加了一个logn的复杂度,但是思路更直观一点:二分最长的不重复子串长度k对二分的长度k进行一次judge,判断能否找到长度为k的不重复子串,判断的方法是遍历字符串,不断添加与删去端点的珠子,同时如果当前子串的珠子种原创 2021-08-23 00:04:12 · 126 阅读 · 2 评论 -
PAT顶级(去重DP计数)——1025 Keep at Most 100 Characters (35 分)
1025 Keep at Most 100 Characters (35 分)(很用心写了!)解题思路:如果有真正自己做完并理解1020的那题的同学,做这里应该没有多大难度,思路几乎相同,还更好想一些,就是中间有一些证明稍微绕一点。记dp[i][j]为前i个字符选j个可以组成的字符串个数,那么很容易得到状态转移方程:dp[i][j]=dp[i-1][j]+dp[i-1][j-1],对应第i个字符不选和选两个情况。同时我们需要考虑这两个情况会不会重复计算?显然是会的,只要在前i-1个字符里面有和第原创 2021-08-20 01:06:14 · 140 阅读 · 0 评论 -
PAT顶级(MST+优先队列——可HACK)——1024 Currency Exchange Centers (35分)
1024 Currency Exchange Centers (35分)解题思路:直接说吧,现在网上的版本应该是没有一个是真正对的,都无法处理以下情况:很明显答案应该是只需要一个center即可,但是由于现存版本在所有center都未出现时选center的随机性,一开始会选到ACC的情况,直接导致答案错误:输入:3 30 1 ABC 10 2 ACC 11 2 ACC 1输出:2 20 1 ABC 10 2 ACC 1期望:1 21 2 ACC 10 2 ABC 1原创 2021-08-19 04:19:08 · 211 阅读 · 1 评论 -
PAT顶级(计算几何+DP)——1023 The Best Polygon (35 分)
1023 The Best Polygon (35 分)解题思路:做完这题差点给我人送走了。。。。前置知识:极角排序、叉积求三角形面积首先对点集进行极角排序,方便后续面积计算。知道以上之后开始正式做这题,记dp[i][j][k]为以i为起点,j为终点的k边形(中间还有k-2个点不知道在哪)的最大面积,那么可以得到dp[i][j][k]=max(dp[i][j][k],dp[i][l][k-1]+area(i,l,j)),i<l<j,area(i,l,j)表示为以i,l,j三个点构成原创 2021-08-18 04:32:17 · 306 阅读 · 0 评论 -
PAT顶级(简单DFS剪枝)——1022 Werewolf (35 分)
1022 Werewolf (35 分)解题思路:怎么又是搜索啊。。。。。。。。。。。。。给我人做麻了不过和1021相比这题要简单多了,简单剪枝一下就过了,剪枝稍微想一下都能想出来:首先是不要无脑枚举每个人是狼、人两个状态一直到最后才去判断狼人==M,在搜索的过程中就可以判断还有没有狼的名额了,如果没有就只能是人,不需要额外做无用功。题目要求降序输出的序列最大,那我们可以发现倒序搜索按照序号大的人优先搜索他的狼的情况,搜到的第一个答案明显就是降序输出的序列最大的结果,因此只需要倒序搜索,按先狼原创 2021-08-17 00:38:13 · 478 阅读 · 0 评论 -
PAT顶级(Bron–Kerbosch算法优化最大团DFS)——1021 Safe Fruit (35 分)
1021 Safe Fruit (35 分)解题思路:用纯DFS+剪枝可以剪到26分。。。最后两个点不这样估计是过不去了,最大团(最大独立集)问题的裸题。原来的搜索方法:顺序搜索,从0(位置)开始枚举每个点,先根据已有的集合判断这个点可不可以被选,如果这个点可以被挑选,则进行选、不选的两个状态搜索,如果不能,则直接进行不选的状态搜索。尝试记忆化搜索,内存超限,失败。(贪心可以过最后一个点,再拿3分)学习Bron–Kerbosch算法之后的搜索优化:转变思路,将题目没有列举出来的边视为相连原创 2021-08-16 03:24:31 · 721 阅读 · 0 评论 -
PAT顶级(DP+计数状态去重)——1020 Delete At Most Two Characters (35 分)
1019 Separate the Animals (35 分)解题思路:用dp[i][j]表示为前i个字符删j个的情况数(1<=i<=n,0<=j<=2)。那么很简单得到递推式:dp[i][j]=dp[i-1][j]+dp[i-1][j-1](即新加的第i个字符删和不删的情况),但是我们会发现,新加的第i个字符删和不删的两个状态可能会有重复,那么需要找到对于dp[i][j]重复情况数,即从i位置往前找到一个最大的pos满足s[pos]==s[i],这样重复的情况数就为dp[原创 2021-08-15 03:03:50 · 145 阅读 · 2 评论 -
PAT顶级(状态压缩记忆化搜索)——1019 Separate the Animals (35 分)
1019 Separate the Animals (35 分)解题思路:差点就想放弃了,之前没写过类似的搜索,写了一个最暴力的,怎么剪枝优化都是T。第一种思路——好想,但是复杂度过大,能拿23分:DFS搜索每个空地的状态,对于每一个情况,judge判断是否合法,判断内容包括1.所有障碍是否4-connected;2.是否有动物会遇到一起;3.是否有h个hole。其中2和3用bfs跑连通分量可以一起实现。第二种思路:枚举每一个空地,在该位置放下一个障碍,然后开始DFS:每次都对已有的障碍都进行原创 2021-08-13 01:59:17 · 175 阅读 · 0 评论 -
PAT顶级(思维规律题)——1018 Subnumbers (35 分)
1018 Subnumbers (35 分)解题思路:实在不会咱就n2暴力吧,应该能拿一点分哈哈。算是思维找规律吧,这种题多写写就不难发现规律,对于题目的1021我们重新推演:对于第一个数字开头的4个数为: 1 10 1021021变换一下:1111 000 22 1可以发现第i位开头的数字和是从第i位开始往后每个数字一直重复到结尾的数字和,这是第一步。然后我们在往下推:对于第三个数字(第二个数字为0开头不计算)开头的2个数之和为: 221变换一下:原创 2021-08-12 16:12:28 · 147 阅读 · 0 评论 -
PAT顶级(LIS思维题)——1017 The Best Peak Shape (35 分)
1017 The Best Peak Shape (35 分)解题思路:emmm其实也不能算思维题,简单变形一下即可,对于一个peak shape最长子序列,无非就是从峰顶位置向两边的最长递减子序列最长,即确定一个位置i之后从两边到i的LIS最长即可,求解LIS的过程中就有求出从0到i的LIS,因此对于起点到i的LIS很简单,那么对于末尾到i的LIS呢,其实也不难,反转数组,我们就会发现这个问题又变成了从0到i的LIS,O(n2)预处理LIS数组,然后枚举每个位置,判断两个端点到他的LIS是否都>原创 2021-08-12 01:58:10 · 191 阅读 · 0 评论 -
PAT顶级(MST个数)——1016 Uniqueness of MST (35 分)
1016 Uniqueness of MST (35 分)解题思路:本题重点在于如何判断最小生成数是否唯一,可以先随便生成一个最小生成树,这时候n个点是由n-1条边连起来的(如果不连通的情况判断一下直接输出),那如果这时候我们枚举所有未使用过的边(在生成树的过程中进行标记),将这条边加进原来的最小生成树中,必然会形成一个环,这时候我们就要断开一条边,使得环断开,那么我们可以发现如果这个环里面有任一条边的权值=我们新加的那条边的权值,那就说明这时候断开两条边的任一条边都能够重新组成最小生成树(显然环中的原创 2021-08-10 23:52:59 · 628 阅读 · 0 评论 -
PAT顶级(二分+思维)——1015 Letter-moving Game (35 分)
1015 Letter-moving Game (35 分)解题思路:难度不大,这题花的时间并不长,码量也算是顶级较小的了,关键在于找到解题思路。题目让你每次从s中选一个字符放到头或者尾,可以理解为经过若干次最优操作后,除了没被选中的字符,其他字符进行了一个重排。也就是说,如果s中的一个子序列与t中的一个子串是相同的,那么这个子序列是可以不需要移动的,只需要移动其他字符即可实现把s还原为t。又因为题目只需要输出次数,所以我们只要知道这个子序列的最长长度即可知道最短移动次数(每个字符移动一次即可,一定原创 2021-08-10 20:42:42 · 283 阅读 · 0 评论 -
PAT顶级(并查集+BFS)——1014 Circles of Friends (35 分)
1014 Circles of Friends (35 分)解题思路:挺无聊一题。。。希望我考试也能遇到这种题啊。。。就是裸并查集+BFS,用并查集处理朋友圈(学并查集的时候就会了),然后对每个人进行一次BFS,计算他到各个点的最短距离,复杂度挺大,理论上这题应该有更优解,但是who cares,O(N*max(N,E))稳过。有个坑就是如果计算距离是深度-2的话,输出的时候记得max(0,ans)一下,否则像我一样一直wa代码:#include<bits/stdc++.h>#i原创 2021-08-09 02:44:55 · 158 阅读 · 3 评论 -
PAT顶级(思维+MST维护)——1013 Image Segmentation (35 分)
1013 Image Segmentation (35 分)解题思路:首先是:The dissimilarity D(C1,C2) of any two components C1 and C2 is larger than the confidence H of any of C1 and C2.这句话的意思是这句话不是D(C1,C2)>H(C1)&&D(C1,C2)>H(C2)而是D(C1,C2)>H(C1)||D(C1,C2)>H(C2),不然样例解释不通原创 2021-08-09 01:23:31 · 156 阅读 · 0 评论 -
PAT顶级(DFS)——1012 Greedy Snake (35 分)
1012 Greedy Snake (35 分)解题思路:emmm一开始以为是正常的贪吃蛇规则(即可以随意上下左右走),然后发现样例都看不懂了,直接人傻了。看了好久题目才发现是选了一个方向走到不能走才能转弯,本身题目没什么好说的,裸搜索题,在DFS的时候针对本题规则修改搜索方式,多传一个参数作为方向:如果是刚进来或者下一个走的位置不能走了,则进行正常的4个方向DFS,否则只能沿着方向继续DFS针对题目的两个问题,直接枚举暴力处理即可:枚举每个位置作为起点跑DFS枚举每个果子的位置,修改它为原创 2021-08-08 23:16:42 · 213 阅读 · 0 评论 -
PAT顶级(几何模拟)——1011 Cut Rectangles (35 分)
1011 Cut Rectangles (35 分)解题思路:虽然题目给的多边形最多有10个点,但是不难得出实际上就五种情况:其中除了第一种没有斜边,直接考虑2个矩形能不能拼接,后面四种都是有斜边的,思路大致如下:找到斜边的两个点,比较斜边是否斜率相等、长度相同(通过▲x,▲y入手,注意会翻转)比较各个情况的对边能否相等,如三角形+梯形,则是梯形斜边两个点所在的两条线x1,x2,min(x1,x2)+三角形的任一直角边=max(x1,x2)即是可以拼接我就没见过代码比我还长的,又原创 2021-08-08 04:00:01 · 245 阅读 · 0 评论 -
PAT顶级(归并排序求逆序对)——1010 Lehmer Code (35 分)
1010 Lehmer Code (35 分)解题思路:这连续的逆序对是我没想到的,没什么好说的,比1009简单多了,1009还是变形,这个直接裸题,差点就把逆序对写题意上了,实际上就是求每个位置的逆序对有多少个,逆序对有两种,也就是ai>aj(i<j),看你是针对ai求还是针对aj求(都求就重复了),这题要做的就是针对ai求,也就是求出每个数在其后面比他小的元素数,对归并求逆序对做一点修改即可——在排序的过程中不断记录数字的原下标(建议用结构体),每次在原下标下累加答案,最后按下标输出即原创 2021-08-07 21:38:06 · 107 阅读 · 0 评论 -
PAT顶级(归并排序求逆序对)——1009 Triple Inversions (35 分)超详细
1009 Triple Inversions (35 分)解题思路:先来真实的,一开始看到题没有思路考虑骗分,三个for,得了19分,意料中的4个T,但是19分不低了说实话,这个暴力就是白送的:然后思考能不能多骗点分,于是想出了一个O(n^2)的写法,对于每一个值,我都是算出比他大在他左边的元素t2,以及比他小在他右边的元素t1,然后乘法组合一下得到这个值为三元逆序对中间那个值的情况贡献了t1*t2个答案。代码:signed main(){ int n=rd; for (in原创 2021-08-07 20:57:17 · 137 阅读 · 1 评论 -
PAT顶级(targan算法强连通分量)——1008 Airline Routes (35 分)
1008 Airline Routes (35 分)解题思路:强连通分量定义裸题,现学tarjan算法,在基础上面做一点修改——出栈的时候,把出栈的所有点父亲标记为最小根,然后对于每次询问查询其父亲是否相同即可。代码:#include<bits/stdc++.h>#include<unordered_map>#include<unordered_set>#define ll long long#define pii pair<int,int>原创 2021-08-06 22:22:26 · 154 阅读 · 0 评论 -
PAT顶级(动态规划)——1007 Red-black Tree (35 分)
1007 Red-black Tree (35 分)解题思路:红黑树居然是DP,这合理吗?定义一个special red-black Tree,叫他r树,其与题中的red-black树区别在于根节点是红色的。定义r[n][h]为 internal node为n,black-height=h的r树的总情况数,b[n][h]为 internal node为n,black-height=h的red-black树的总情况数这样对于一个 internal node为n的r树,若其black-height=原创 2021-08-06 20:38:44 · 617 阅读 · 0 评论 -
PAT顶级(二叉树DFS)——1006 Tree Traversals - Hard Version (35 分)
1006 Tree Traversals - Hard Version (35 分)解题思路:把握住前序中序后序遍历的特点:根节点=inorder[i]=preorder[0]=postorder[last],枚举每个中序的位置假设其为根节点向下递归求解,过程用引用进行赋值,完成树的构造代码:#include<bits/stdc++.h>#include<unordered_map>#include<unordered_set>#define ll lon原创 2021-08-05 20:47:14 · 2782 阅读 · 3 评论 -
PAT顶级(字符串哈希)——1005 Programming Pattern (35 分)
1005 Programming Pattern (35 分)解题思路:队友一眼看出后缀数组+基数排序并手撸尝试,怎么搞都是T,百度了几份相同做法的代码同样T。所以这里还是推荐哈希字符串,将字符串看成X进制的数(X>128,即所有字符的可能性),然后统计每一个字符串的编码用unordered_map(别用map) 存起来,采用线性计算,即下一个字符串的编码=(上一个字符串的编码-上一个字符×pow(X,位数-1))*X+新加进来的字符, 同时不断更新最大次数,以及统计最大次数的字符串下标,最后原创 2021-08-05 01:11:54 · 234 阅读 · 0 评论 -
PAT顶级(最大流)——1003 Universal Travel Sites (35 分)
1003 Universal Travel Sites (35 分)解题思路:没啥好说的,题目可能有点难懂,可以理解为最后到达目的地的人数最多为多少个,即最大流,最大流裸题,跑DINIC。代码:#include<bits/stdc++.h>#include<unordered_map>#include<unordered_set>#define ll long long#define pii pair<int,int>#define pll原创 2021-08-04 16:00:48 · 840 阅读 · 0 评论 -
PAT 顶级(记忆化搜索)——1002 Business (35 分)
1002 Business (35 分)解题思路:N<=50,P,L,D未知,暴力搜索2^50会T一个点,尝试记忆化搜索(数据范围未知所以不确定),用vis记录<i,now,ans>i为当前dfs的位置,now为当前的时间,ans为当前的答案,用if (vis[i][now][ans])return;来实现记忆化搜索,减少搜索复杂度。坑点:若破坏某个城市后网络不连通,则该城市的代价为最大(如果有多个这样的城市,则输出多个)代码:#include<bits/stdc++.h原创 2021-08-04 15:59:56 · 111 阅读 · 0 评论 -
PAT顶级(MST)——1001 Battle Over Cities - Hard Version (35 分)
1001 Battle Over Cities - Hard Version (35 分)解题思路:枚举每个城市,破坏连着它的边,残留网络中跑克鲁斯卡尔最小生成树(并查集+边排序,排序在枚举城市循环外,一次排序即可),对于status=1的边是已经建成的,修改其cost=0即可。坑点:若破坏某个城市后网络不连通,则该城市的代价为最大(如果有多个这样的城市,则输出多个)代码:#include<bits/stdc++.h>#include<unordered_map>#i原创 2021-08-04 15:59:02 · 259 阅读 · 0 评论 -
磁带最大利用率问题——动态规划
题目描述设有n个程序{1,2,…,n}要存放在长度为L的磁带上。程序i存放在磁带上的长度是li,1<=i<=n.程序存储问题要求确定这n个程序在磁带上的一个存储方案,使得能够在磁带上存储尽可能多的程序。在保证存储最多程序的前提下,要求磁带的利用率最大。编程任务:对于给定的n个程序存放在磁带上的长度,编程计算磁带上最多可以存储的程序数和占用磁带的长度。输入第一行是2个正整数,分别表示文件个数n和磁带长度L。第二行中,有n个正整数,表示程序存放在磁带上的长度。输出第一行输出最多可以存储原创 2020-11-21 21:59:18 · 1514 阅读 · 1 评论 -
Codeforces Round #674 (Div. 3)——E. Rock, Paper, Scissors
Codeforces Round #674 (Div. 3)——E. Rock, Paper, Scissors2020/9/28这里不是题解!!!!!!!!!!!!!!!!!!!!!!!!!展示一手绝活,把一个这样的代码:#include<bits/stdc++.h>using namespace std;#define pb push_back#define ll long long int#define pll pair<ll,ll>int main(){原创 2020-09-28 23:21:30 · 165 阅读 · 0 评论 -
D.Make Them Equal
Codeforces Round #673 (Div. 2)——D. Make Them Equal事实证明这题是真的简单,相较于C题复杂的处理我倒觉得这题更简单吧。纯思维题,但是我还是没写出来题目:You are given an array a consisting of n positive integers, numbered from 1 to n. You can perform the following operation no more than 3n times:choose t原创 2020-09-28 07:49:06 · 183 阅读 · 0 评论 -
做题随记:给定一个t问你有多少个<n,m>整数对使得n行m列的正方形个数=t
题意RT:给定一个t问你有多少个<n,m>整数对使得n行m列的正方形个数=t可以知道i行i列的正方形个数为i的平方前缀和,所以可以枚举n从1到t的^(1/3)(由平方前缀和公式可以推出n最大为该值),然后计算出对于n行固定的情况下每多一列,多了多少个正方形,得出等差数列为n*(n+1)(2n+1)/6+(n(n+1)/2)(m-n)=S(n,m),令S(n,m)=t,求出该n情况下的m,存储起来。推导过程如下:代码(没有测试平台,不知道正确性,欢迎指正):#include<bit原创 2020-09-27 11:37:57 · 273 阅读 · 0 评论 -
Codeforces Round #658 (Div. 2)-D Unmerge题解
2020/7/22不会吧不会真的有人连A都能WA吧,不会吧,不会那个人就是我吧?!说正事,D题本身并不算太难。题目:Let a and b be two arrays of lengths n and m, respectively, with no elements in common. We can define a new array merge(a,b) of length n+m recursively as follows:If one of the arrays is empty,原创 2020-07-23 01:46:32 · 224 阅读 · 0 评论 -
Codeforces Round #657 (Div. 2)——B. Dubious Cyrpto题解
题目:Pasha loves to send strictly positive integers to his friends. Pasha cares about security, therefore when he wants to send an integer n, he encrypts it in the following way: he picks three integers a, b and c such that l≤a,b,c≤r, and then he computes t原创 2020-07-20 00:50:43 · 636 阅读 · 0 评论 -
Codeforces Round #657 (Div. 2)——C. Choosing flowers题解
讲道理,这场Div2挺搞的。。。不过侥幸偷了50多分。嘻嘻,说正事:题目:Vladimir would like to prepare a present for his wife: they have an anniversary! He decided to buy her exactly n flowers.Vladimir went to a flower shop, and he was amazed to see that there are m types of flowers bein原创 2020-07-20 00:35:53 · 535 阅读 · 0 评论 -
2020牛客暑期多校训练营(第二场)B Boundary
2020/7/14这里使用两种做法:已知答案的圆过原点,因此最终在圆上的点与原点的垂直平分线必过圆心,计算出n个点与原点的垂直平分线,这n条直线两两之间有n*(n-1)/2个交点。找到这n*(n-1)/2个点中某个点出现最多的次数其次数就是答案(因为垂直平分线的交点相同表示圆心重合,且圆过原点所以他们所在的圆为同一个圆)。推交点的过程并不复杂,最后联立方程组2次分别解出交点的坐标(xi,yi),(不要把x带入到垂直平分线求y,更麻烦)即可代码:#include<bits/stdc++.h原创 2020-07-20 00:18:52 · 135 阅读 · 0 评论 -
2020牛客暑期多校训练营(第二场)F Fake Maxpooling
2020/7/14哎,+17的滋味你不知。题目卡构造lcm矩阵,暴力求矩阵复杂度是nmlogn,就是这个logn被卡住了,赛中加了一个特判减了一半复杂度勉强过去。正解是题解中给出的利用筛法构造lcm矩阵for (int i = 1; i <= n; i ++) for (int j = 1; j <= m; j ++) if (!Gcd[i][j]) for (int k = 1; k * i <= n && k * j <= m; k ++) G原创 2020-07-20 00:17:57 · 144 阅读 · 0 评论 -
2020牛客暑期多校训练营(第一场)J Easy Integration
2020/7/13一开始以为只要开出积分以及预处理阶乘计算组合数,O(n)计算结果即可,后面发现丧心病狂要O(1)才能过。没办法,打表上OEIS找公式——居然还真找到了。。这里放出真正的过程:三角换元大法nb!然鹅我不会,高数菜鸡正是在下了。好像是“Wallis’ integrals”。得到公式,代码自然。。。简单的逆元即可:#include<bits/stdc++.h>using namespace std;#define M 2000010#define mod 99824原创 2020-07-20 00:16:32 · 152 阅读 · 0 评论 -
2020牛客暑期多校训练营(第一场)——F Infinite String Comparision
2020/7/13啊,今年终究是只有我们一队打多校了(-$350),自闭之。含泪也得被虐完。简单总结一些(主要是根本就不会几题)。题意很简单,给你两个字符串,问你两者无限循环之后的结果是否相同。很明显不能无限比下去,只需要找到某个长度之内二个字符串均相等即可证明两者无限循环之后的结果相同。一个比较简单的做法就是比到二个字符串长度之和的位置即可。题解给出了根据Periodicity Lemma可以证明出只需要比到a+b-gcd(a,b)即可,复杂度线性。证明过程挺复杂。不过一般情况下都能猜到a原创 2020-07-20 00:15:02 · 224 阅读 · 0 评论 -
2019中国大学生程序设计竞赛-女生专场(重现赛),HDU 6551和HDU 6546
2020/7/20队友拉的一场训练赛,趁热总结一波,A(HDU6544) B(HDU6545) K(HDU6554)都没啥好说的,属于比较简单的签到题,顺便吐槽一下为什么单行输出末尾要回车以及有的题面不说明多行输入。G(HDU6550)需要注意精度,PI的小数点需要很多位。下面就是主要的总结了:H(HDU6551) Clock:一道不难但是有坑的枚举模拟题,赛中想到了顺、逆、先顺后逆、先逆后顺的枚举方法,无奈代码写飘了,正确的枚举方式:先将每个时间转化为秒(小时需要对12取模)记为a,分别计原创 2020-07-10 18:19:11 · 1034 阅读 · 0 评论 -
Codeforces Round #641 Div2 C题解
题目For the multiset of positive integers s={s1,s2,…,sk}, define the Greatest Common Divisor (GCD) and Least Common Multiple (LCM) of s as follow:gcd(s) is the maximum positive integer x, such that all integers in s are divisible on x.lcm(s) is the minimu原创 2020-05-13 22:03:26 · 579 阅读 · 2 评论