自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(269)
  • 资源 (1)
  • 收藏
  • 关注

原创 【Go 学习笔记】2.4.1 关于map查找、类型断言和通道接收这三个操作的返回值个数问题

首先看英文原文:这里用的是 two results are expected,期望得到两个值。再看看中文翻译版本:这里把他翻译成了,可能会产生两个结果。 甚至还在原文的基础上,又加了一段文字和代码来描述,可能尝试一个结果,也可能产生两个结果。个人认为,这样写,只会给读者带来疑惑,如果返回值个数是不确定的,那么写代码的时候又该怎么写呢。并且根据 Go的语法规则,明确规定了,左边的变量个数,必须和右边的值的个数相等。实测证明,左边既可以写 一个变量, 也可以写两个变量。如果写两个变量,第二个就会接

2021-05-30 17:22:53 572 1

原创 2020-ICPC-银川站-总结

总结:简单总结一下这场比赛的获奖原因就是 50%英语+25%运气+25%实力。流水账:开赛前,起晚了没上厕所,学校的厕所都爆满了,只能等开赛后再去了。开始之后,过了一会才发账号密码,网页也是昨天热身赛的,凭印象输了一个网址,登录成功。打开编译器,开一个项目,接着开始读题。先读了A题,一眼看到了 “let’s play a game”。遂以为这是个博弈。就跳了,没往下读。然后读了B。感觉是个DP,思考状态怎么设计的时候,看到榜上有人过了A题。并且两个都是9分钟的提交。遂赶紧回去看A题。现场顿时

2021-05-18 14:52:00 2563 5

原创 unorder_map + pair

传入 pair 的哈希函数struct hash_pair { template <class T1, class T2> size_t operator()(const pair<T1, T2>& p) const { auto hash1 = hash<T1>{}(p.first); auto hash2 = hash<T2>{}(p.second); return

2021-05-12 17:24:00 274

原创 Codeforces Round #720 (Div. 2)

总算又能安心刷题了A. Nastia and Nearly Good Numbers题意:给定A、B,要求找出三个数 x,y,z。满足条件:x + y = z其中有两个数只能整除A,有一个可以整除A*Bx,y,z 各不相同思路:显然,z是最大的,让z整除A*B就行了 。那么令 x = A*(B-1) , y = A , z = A*B 就行了。这个时候,可以发现,B不能等于1,同时当B等于2的时候,x 和 y 相等。那么可以令 x = 3A ,y = A ,z = 4A。Code:

2021-05-08 12:09:03 170

原创 Codeforces 1272F. Two Bracket Sequences(BFS+DP+路径记忆)

Codeforces Round #605 (Div. 3) 题解全文见: https://blog.csdn.net/qq_43461168/article/details/114377042F. Two Bracket Sequences题意:给出两个括号串,求一个最短的括号串,使得这两个串都是他的子序列。思路:参考官方题解。BFS+DP。用dp[i][j][d]表示包含s1的前i个,s2的前j个,且度为d的情况下的最小长度。 度定义为 左括号的数量-右括号的数量。转移呢,肯定是从 dp[0][0

2021-03-04 21:56:28 183 1

原创 Codeforces Round #605 (Div. 3)

A. Three Friends题意:给三个点,每个点至多往左边或者右边移动一次,可以不移动。问最后两两距离之和的最小值。思路:直接枚举每个点往左,不动和往右的情况。计算答案。AC代码:#include <iostream>#include <bits/stdc++.h>#include <unordered_map>//#define int long long#define mk make_pair#define gcd __gcdusing na

2021-03-04 21:53:32 155 1

原创 Codeforces Round #704 (Div. 2)(E待补)

A. Three swimmers题意:三个人走一个来回的时间分别是a,b,c。问当到达起点时间为t时,最少要等多久,会有人回到起点。思路:取模判断AC代码:#include <iostream>#include <bits/stdc++.h>#include <unordered_map>#define int long long#define mk make_pair#define gcd __gcdusing namespace std;con

2021-03-04 12:13:41 124 1

原创 2021.02.21 Week5 训练小结

总结一下这一周是被智齿和走亲戚耽误的一周。从初二到初六呢,都在走亲戚。期间,都有带电脑做题,但没有高密度的训练。同时,在做一个 “我去图书馆的” 公众号的抢座程序。但是到现在还差亿点点细节。在此留坑待填。然后,就迎来了这周的至暗时刻。拔智齿。我一直自认为自己是一个非常坚强的人,从来不会因为小伤小痛而哭天喊地,直到我拔了智齿。 – 某乎网友智齿折磨了好几天,头昏脑胀的。这周整个人也很焦虑。不知道能不能保上研。如果没保上,又要何去何从。队友也散了,考研的考研,摸鱼的摸鱼。不知道能否拿到想到的奖

2021-02-23 13:28:03 124

原创 Codeforces Round #702 (Div. 3)

A. Dense Array题意:一个数组,要求相邻两个数不能相差两倍以上。问需要填入多少个数,使得满足条件。思路:找到不满足的地方,然后每次填入min的两倍。直到满足。AC代码:#include <iostream>#include <bits/stdc++.h>#include <unordered_map>#define int long long#define mk make_pair#define gcd __gcdusing namespa

2021-02-17 23:17:08 158

原创 2013ACM-ICPC杭州赛区全国邀请赛(C待补)

传送门:http://acm.hdu.edu.cn/search.php?field=problem&key=2013ACM-ICPC%BA%BC%D6%DD%C8%FC%C7%F8%C8%AB%B9%FA%D1%FB%C7%EB%C8%FC&source=1&searchmode=sourceA. Robot题意:一个n个格子的圈,编号1-n。一个机器人初始在位置1。然后给出m条指令。每条指令,可以控制机器人移动x个位置。但是方向是任意的,可以顺时针可以逆时针。概率相同。问最后

2021-02-16 16:46:11 232

原创 Codeforces 1367F1. Flying Sort (Easy Version)(DP+离散化)

Codeforces Round #650 (Div. 3) 全文见:https://blog.csdn.net/qq_43461168/article/details/112760623F1. Flying Sort (Easy Version)题意:一个数组,一次操作可以选择一个数,放到数组开头,或者放到末尾。问最少多少次操作可以使得数组有序。Easy版中所有元素各不相同。且数组长度 < 3000。思路:考虑求不需要动的元素。先对a数组离散化,变成值域1-n的数组。然后不需要动的元素是差值为

2021-02-16 16:09:02 166

原创 Educational Codeforces Round 104 (Rated for Div. 2)

A. Arena题意:每个英雄如果挑战能力值更低的英雄,自己的能力值就会+1。问可能有多少个英雄可以达到无限大。思路:除了能力值最低的,都可以无限挑战最低的。AC代码:#include <iostream>#include <bits/stdc++.h>#include <unordered_map>//#define int long long#define mk make_pair#define gcd __gcdusing namespace s

2021-02-16 14:38:43 157

原创 2021.02.14 Week4 训练小结

没怎么训练。过年+拜年,好无聊。

2021-02-15 14:09:36 140

原创 2021.02.09 Week3 训练小结

02.09 为什么是9号呢。因为鸽了一周,体验了一把数模。所以本周训练小结:无再过两天就过年了。再随便写写题。初四回复训练。既然说到了数模。就总结一下数模好了。首先一个字。肝。本来的打算是,编程手会比较轻松。躺着摸摸鱼就好了。打起来之后啊。第一天很累。早上。疯狂看题。找资料。看数据。下午开始定模型。处理数据。实现了第一问。第二天,依然很肝。一大早起来就开始干第二题,模型反复的跑。始终得不到想要的结果。然后疯狂改改改。到晚上都没有确定最终的答案。到第三天早上第二问才算是完事了。然后

2021-02-09 20:04:44 139 1

原创 2021.01.31 Week2 训练小结

又到了一周一度的小结时间。上周回的家。这周是完全在家的一周。在家的时间利用率果然还是没有在工作室高啊。这周还是以补题为主。Codeforces呢打了几场VP。两场实战。发挥平平无奇。掉了涨。约等于没打。总之,新题不多。补的都是这三周欠下的较难的题。复习了到了很多知识点。要说最费时间的还是 18年南京现场赛的M题。整了两天,算是完全整明白了。也复习了Manacher,回文树,ExKMP。Codeforces 补的居然几乎都是树上问题。字典树,树上差分。还有昨天EDU场的贝祖定理。好消息是,题快补完

2021-02-01 00:40:00 172

原创 2018 ICPC 南京 E. Eva and Euro coins(思维+栈)

2018 ICPC 南京 全文见:https://blog.csdn.net/qq_43461168/article/details/113447519E. Eva and Euro coins题意:给定一排硬币。也就是一个01串。要变成目标01串。限制是每次只能翻动连续的k个硬币。思路:这场榜是不是被带偏了。E题应该是前期题呀。简单思维+栈。观察一下就可以发现,对于连续的k个相同的硬币。如果存在的话。那目标串里面也必然存在连续相同的才行。 其次,更重要的是,这连续的k个相同的,可以直接删掉!为什么呢

2021-01-31 14:00:29 371

原创 2018 ICPC 南京 M. Mediocre String Problem(ExKMP + Manacher / ExKMP+回文树)

2018 ICPC 南京 全文见:https://blog.csdn.net/qq_43461168/article/details/112796538M. Mediocre String Problem题意:给定两个串s和t。三元组(i,j,k)表示 s[i-j] + t[0-k],有多少个三元组使得结果串是回文串。简单来说就是在s中找一个子串 ,与t的前缀连起来变成回文串。求方案数。!思路参考:https://www.cnblogs.com/luowentao/p/10332309.html思路

2021-01-30 22:21:43 397

原创 模板:EXKMP

const int maxn=3e6+9; //字符串长度最大值int next[maxn],ex[maxn]; //ex数组即为extend数组//预处理计算next数组void GETNEXT(char *str){ int i=0,j,po,len=strlen(str); next[0]=len;//初始化next[0] while(str[i]==str[i+1]&&i+1<len)//计算next[1] i++; next

2021-01-30 20:24:12 95

原创 模板:Manacher

char Ma[maxn*2];int Mp[maxn*2];void Manacher(char s[],int len){ int l=0; Ma[l++]='$'; Ma[l++]='#'; for(int i=0;i<len;i++){ Ma[l++]=s[i]; Ma[l++]='#'; } Ma[l]=0; int mx=0,id=0; for(int i=0;i<l;i++){

2021-01-30 20:22:37 74 1

原创 Codeforces 1447E. Xor Tree(字典树/贪心)

Codeforces Round #683 (Div. 2, by Meet IT) 全文见:https://blog.csdn.net/qq_43461168/article/details/113175011E. Xor Tree题意:一个数组。每个元素会和与自己异或值最小的数连一条无向边。想要最终形成的图是一颗树。 至少要删掉几个元素。思路:首先肯定不会形成环。为什么呢。因为一个值,只会和一个异或起来最小的值相连。要形成环。就说明至少要有一个元素。同时连向两个元素。这显然不符合条件。环中边

2021-01-30 11:43:25 392

原创 Educational Codeforces Round 103 (Rated for Div. 2)

还没系统测试。仅供参考。A. K-divisible Sum题意:给定n,k。让找一个n个元素的数组,数组和可以整除k。并且数组中元素的最大值 最小。思路:如果n == k。那显然是1。 如果n > k,分两种情况。n%k == 0。那么全是1,和就是k的倍数了。否则,必须要有一些2。去凑成余数。所以最大值是2。 接着考虑 n < k,至少要和加起来要等于一个k。(k+n-1)/n 就是答案。AC代码:#include <iostream>#include <bit

2021-01-30 01:28:47 214

原创 Codeforces 1478D. Nezzar and Board(贝祖定理)

Codeforces Round #698 (Div. 2) 全文见:https://blog.csdn.net/qq_43461168/article/details/113405897D. Nezzar and Board题意:给定一个数组。只有一种操作。选择两个数x,y。然后数组增加一个新数 2*x-y。问能不能通过这种操作合成出 k。思路参考:https://www.cnblogs.com/HotPants/p/14344386.html思路: 先变换一下操作。2*x-y = x+(x-y)

2021-01-29 22:13:34 361

原创 Codeforces Round #698 (Div. 2)

A. Nezzar and Colorful Balls题意:签到题。思路:求最大的相同值的数量。AC代码:#include <iostream>#include <bits/stdc++.h>#include <unordered_map>#define int long long#define mk make_pair#define gcd __gcdusing namespace std;const double eps = 1e-10;co

2021-01-29 22:12:11 194

原创 Codeforces 1451E. Bitwise Queries(位运算性质)

Codeforces Round #685 (Div. 2) 全文见:https://blog.csdn.net/qq_43461168/article/details/113175779E. Bitwise Queries题意:给定一个未知的数组。长度为n。值在[0,n-1]区间。可以进行询问,询问任意两个数的任意位运算的值。AND,OR,XOR。要求在n+2(easy)/n+1(hard)次操作只能给出原数组。思路参考:https://blog.csdn.net/qq_45458915/artic

2021-01-29 13:26:22 165

原创 Codeforces 1455E. Four Points(枚举/贪心/几何)

Educational Codeforces Round 99 (Rated for Div. 2) 全文见:https://blog.csdn.net/qq_43461168/article/details/113105113E. Four Points题意:给四个点。移动他们,使得形成一个正方形。 求最小移动步数。思路参考:https://www.cnblogs.com/qieqiemin/p/14069636.html思路: x和y可以分开考虑。 首先枚举每个点作为四个点的任意一个点。也就是枚

2021-01-29 11:05:41 208

原创 Codeforces 1438E. Yurii Can Do Everything(暴力)

Codeforces Round #682 (Div. 2) 全文见:https://blog.csdn.net/qq_43461168/article/details/112697574E. Yurii Can Do Everything题意:一个数组,然后要找出所以 Good 子串的数量,定义是子串中 左右端点的异或值 等于 子串中所有数的和。思路:sum(l+1,r−1) ≤ 2⋅max(al,ar),因为异或操作,不可能产生进位。然后设现在 al是最大值。扫描一遍右端点。数出符合条件的个数。

2021-01-29 10:08:28 128

原创 Codeforces 1417E. XOR Inverse(字典树/贪心)

Codeforces Round #673 (Div. 2) 全文见:https://blog.csdn.net/qq_43461168/article/details/112606806E. XOR Inverse题意:一个数组。要找到一个x。使得数组中每个数都异或x之后。数组中的逆序对数量最少。思路:这种一般就是贪心构造。应且又和异或有关。那肯定和字典树有关。就往这个方向去想。首先用字典树,可以求出数组中逆序对的数了。dp[i][j] 表示第i位上 如果为j。存在的逆序对数量。考虑第i位上的0和1

2021-01-29 09:35:44 175

原创 Codeforces 1467E. Distinctive Roots in a Tree(树上差分)

Codeforces Round #695 (Div. 2) 全文见:https://blog.csdn.net/qq_43461168/article/details/112598001E. Distinctive Roots in a Tree题意:输出符合条件的点的个数。条件:从这个点出发到任意一个点的路径中没有重复的值。思路参考:https://blog.csdn.net/forever_shi/article/details/112467674思路:反过来想。 题目要求符合条件的点的个数。

2021-01-28 21:38:05 153

原创 Codeforces 1370F. The Hidden Pair(二分/思维)

Codeforces Round #651 (Div. 2) 全文见:https://blog.csdn.net/qq_43461168/article/details/112577099F. The Hidden Pair题意:给定一个数。给定一个s和t,保证他们不一样。然后每次可以询问一个点集合。 会返回这个点集合中。dis(s,x)+dis(x,t)最小的点。也就是到他们的距离和最小。如果有多个,随机返回一个。并且告知dis(s,x)+dis(x,t) 这个值。问能否在 14(easy)/11(h

2021-01-28 18:12:53 108

原创 Codeforces Round #697 (Div. 3)

A. Odd Divisor题意:判断n有没有奇数因子思路:签到题。只有2的幂次没有奇数因子。所以一直除2就行了。AC代码:#include <iostream>#include <bits/stdc++.h>#define int long long#define mk make_pair#define gcd __gcdusing namespace std;const double eps = 1e-10;//const int mod = 1e9+7;

2021-01-27 18:02:59 116

原创 Codeforces Round #687 (Div. 2, based on Technocup 2021 Elimination Round 2)

A. Prison Break题意:越狱。n*m的地图中,每个点上有一个人,地图中有个洞。要所有人移动到洞的位置。一次只能移动到相邻位置。问最少要多长时间。思路:求最远的点到他的距离就行了。最远的肯定是四个角的点。AC代码:#include <bits/stdc++.h>#define int long long#define mk make_pair#define gcd __gcdusing namespace std;const double eps = 1e-10;c

2021-01-27 12:36:24 138

原创 Codeforces Round #685 (Div. 2)

A. Subtract or Divide题意:给定一个n。两种操作。除以一个因子(自己不算)或者自减1。求把n变成1。最少的操作次数。思路:先特判掉1,2,3。然后分奇偶讨论。如果是偶数。那么除以n/2 就变成 2 了。然后再减1。只需2步。对于奇数。就算有奇数的因子。除一次的话,肯定没有办法变成2。最多变成3。而3变成1需要2步。也就是最少3步。而把奇数变成偶数需要1步。再变成1需要两步。所以对于所有奇数采用这种方式就行了。AC代码:#include <bits/stdc++.h>

2021-01-26 11:30:55 183

原创 Codeforces Round #683 (Div. 2, by Meet IT)

A. Add Candies题意:一个数组a[i] = i。可以有1000以内的操作。第j次操作可以选择 一个i,然后除了a[i],其他全部加上 j。求操作序列。思路:每次除了选择的数,都会加上j。但是他们本身a[i] = i。那么操作n次。第i次就选择a[i]。这样等于其他数都加上他。而他自己不变。这样操作完,所有数都加上了另外 n-1 个数。所有的数都是 sum(1~n)。AC代码:#include <iostream>#include <bits/stdc++.h>

2021-01-26 10:59:51 117

原创 Codeforces Round #692 (Div. 2, based on Technocup 2021 Elimination Round 3)

A. In-game Chat题意: 给定一个字符串,如果末尾 的’)'字符 大于剩下的字符的个数。则 yes 反之 no思路:大水题。AC代码:#include <bits/stdc++.h>#define int long long#define eps 1e-9using namespace std; signed main(){ int t = 1; cin>>t; while(t--){ string s;

2021-01-25 11:53:51 273

原创 Educational Codeforces Round 99 (Rated for Div. 2)

A. Strange Functions题意:定义f()函数为把放进去的数倒置,并去掉前导零。g(x)=xf(f(x))g(x)=\frac{x}{f(f(x))}g(x)=f(f(x))x​,给定n。在所有 1<= x <= n中,能使得g(x)取得几个不同的值。思路:f(x)套了两层,先倒置去掉了前导零,又倒置去掉了前导零。其实就是倒回来了。然后用x去除它。假设x后面没有0。那么g(x)就是1。如果有一个0,那就是10。以此类推。所以答案就是n的位数。想必找规律也能看出来。AC代码:

2021-01-25 11:20:00 152

原创 Educational Codeforces Round 98 (Rated for Div. 2)

A. Robot Program题意:机器人要从(0,0)走到(x,y),可以上下左右,或者停在原地。五种操作。 不能连续使用同一种操作。思路:先最快走到(min(x,y),min(x,y))的地方。然后 停走停走就行了。AC代码:#include <iostream>#include <bits/stdc++.h>#define int long long#define mk make_pair#define gcd __gcdusing namespace st

2021-01-25 10:40:02 91

原创 Codeforces Round #650 (Div. 3)

A. Short Substrings题意:一个字符串 abac,然后把所有长度为2的子串加起来变成新串,abbaac,由 ab ba ac组成。现在给出新串,找出原串。思路:按题目模拟就好了,没啥说的。AC代码:#include <bits/stdc++.h>using namespace std; int main(){ int t; cin>>t; while(t--){ string s; cin&g

2021-01-25 00:01:02 186

原创 2021.01.24 Week1 训练小结

训练第二周。相比第一周。训练强度小了许多。主要花了很多时间补上周剩下的题目。而没有花太多时间去写新题。被老师叫去办公室干活花了一下午。回家花了一天。数模花了一下午和很多个晚上。打了两场模拟赛。第一场2018 南京站 打的还不错,题目质量也很高。知识点很广。解题方法也很多种。第二场的 2018 沈阳站 能写的知识点比较少,现场赛两题就有牌了。题目质量不高。现在回家了,要加强训练强度。毕竟还要分时间给数模。接下来要主攻知识点的专练。早上继续打Codeforces保持手感。本周刷题记录:2018 IC

2021-01-24 23:01:18 147

原创 Codeforces1474D. Cleaning(前缀和/思维)

D. Cleaning题意:一个数组。每次可以选择两个相邻的数,同时减小1。而且允许交换两个数,最多操作一次。问是否能最后全变成0。思路:前后缀和。第一个数,肯定是和第二个数一起减。并且减到0的。同理第二个数还要和第三个数一起减。那么从左往右这样可以一直减下去。就变成了一个,a1,a2-a1,a3-a2+a1…这样的数组。存起来作为前缀和pre[],如果pre[n] == 0 则说明,减到最后大家都是0了。已经满足题意了,可以提前结束。同理,从右往左也这样进行一次。存起来作为后缀和suf[]。要保证数组

2021-01-22 02:30:57 349

原创 Codeforces1461E. Water Level(贪心/分类讨论/模拟)

Codeforces Round #689 (Div. 2) 全文见:https://blog.csdn.net/qq_43461168/article/details/112976212E. Water Level题意:一桶水。初始k升,每天要喝掉x升,每天可以给他加y升。问能否使得 水位在t天之内 始终保持在 [L-R]的范围内。思路:分类讨论。贪心。首先特判掉第一天。如果第一天可以加水,那先加个水再说。然后 如果第一天 一喝就小于 L 了,那显然没救了。否则就分情况讨论。如果y < x,

2021-01-22 02:13:18 202

BaiduPCS-Go

百度PCS-Go 百度网盘助手 不限速下载 命令行界面 Go 语言编写

2018-11-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除