个人CF竞赛史
文章平均质量分 64
Nathan Qian
在兴趣之外依旧有着更为重要的东西在支撑着我前进
展开
-
【暴力基础上的算法思维与双指针】B. Swaps
题目来源Problem - B - Codeforces题干简述题意:区间范围在[1-2n]的整数将偶数随机排列在a数组中,奇数随机排列在b数组中要求进行数组内相邻元素的交换,直到满足a[0]<b[0]解释首先想到的是暴力做法将遍历a每一个元素,在b中查找最近的一个满足ai<bj的元素,并不断更新答案,即对于每个元素a所需要的交换次数并取最小值很明显看到数据量这个做法会被TLE,复杂度O(N*N)然后再寻找其他思维失败的基础上,我采取在暴力做法进行..原创 2021-11-19 17:29:55 · 481 阅读 · 0 评论 -
【二分法】C. Chat Ban
题目来源Problem - C - Codeforces简述一共发送2k-1条信息 前k条信息,第i个信息含有i个内容 从第k+1条信息开始第i个信息含有2k-i个内容 给定一个x,当信息数大于等于x时拦截 问发送到第几条信息时拦截解析这是一条二分法的题目 需要用的前n项和公式(记为cnt) 当i<=k时,计算比较x的方法用公式cnt(i) 当i>k时,计算比较x的方法为cnt(k)+cnt(k-1)-cnt(2k-1-y) 二分法,设置初始区间段l=1,.原创 2021-11-25 16:22:41 · 820 阅读 · 0 评论 -
【最爱的暴力题】B. Shifting Sort
题目来源Problem - 1579B - Codeforces题干解释看到数组大小不超过50就非常开心因为可以暴力法解决!先将数组a传给数组b,再将它排序好然后再是模拟,如果a[i]和b[i]第i位不同的话,往后寻找目标数,然后再完成交换就可以了最坏情况为倒序排列,例如54321,则需要进行5次操作,即k<=n易证;特别注意要熟记vector库的一些常见用法!在下面列出,感谢这篇博文的知识提供:C++_vector操作_刘同学的博客-CSDN博客_ve原创 2021-11-18 10:29:40 · 299 阅读 · 0 评论 -
【集合论】B. Groups
题目来源Problem - 1598B - Codeforceshttps://codeforces.com/problemset/problem/1598/B题干官方解释注释这道题看到数据量就应该想到是一个暴力算法用两个指针i,j来迭代一个固定的日期a,b,最多会迭代10次然后开始给选这两个日期的学生进行分类四个集合:1.a,b都不选的2.只选a的3.只选b的4.a,b都选的第一个集合非空的话,就代表目前迭代的日期a,b不符合然后记录..原创 2021-11-17 12:40:43 · 422 阅读 · 0 评论 -
【拼图问题】B. Coloring Rectangles
题目来源Dashboard - Codeforces Round #755 (Div. 2, based on Technocup 2022 Elimination Round 2) - CodeforcesCodeforces. Programming competitions and contests, programming communityhttps://codeforces.com/contest/1589题干解释本解释为个人的拙劣思路,不代表官方思路(个人认为还可以优化).原创 2021-11-14 22:31:32 · 542 阅读 · 0 评论 -
【数组元素交换,观察法】B. Reverse Sort
题目来源Problem - B - CodeforcesCodeforces. Programming competitions and contests, programming communityhttps://codeforces.com/contest/1605/problem/B题干解释通过一些观察,发现在一步之内总能将数组元素交换成目标数组的顺序因此只需要将原数组与排好序的数组进行一次对比,然后将不相同的元素做好标记再交换就可以啦代码段void solve.原创 2021-11-13 17:07:21 · 736 阅读 · 0 评论 -
【抽屉原理】C. Dominant Character
题目来源Problem - C - CodeforcesCodeforces. Programming competitions and contests, programming communityhttps://codeforces.com/contest/1605/problem/C题干解析在本人的代码里,思路是在字符串中找到距离最近的两个a并且判断距离(x代表之间含有的其他字母数)如果x=0,如aa可以直接输出2如果x=1 ,如aba,aca可以直接输出3如.原创 2021-11-13 14:02:18 · 1034 阅读 · 2 评论 -
【数组排序】B. Hemose Shopping
题目来源Problem - A - CodeforcesCodeforces. Programming competitions and contests, programming communityhttps://codeforces.com/contest/1592/problem/A题干解释当n>=2*x的时候,任何棋子(将数想象成棋子)都可以到达任何一个点这个可以用数学归纳法证明 省略当n<2*x的时候,此时除了从头开始数前n-x个棋子和从尾开始数后n-x个棋原创 2021-11-12 10:17:04 · 137 阅读 · 0 评论 -
【非常简单的】A.gamer hemose
题目来源Problem - 1592A - CodeforcesCodeforces. Programming competitions and contests, programming communityhttps://codeforces.com/problemset/problem/1592/A题干解释先给武器能力值进行排序,然后只使用最强的和第二强的武器。一开始采用模拟算法结果TLE了后来直接将两个武器并为一组,看看能用多少组,取剩下来的余数比较和最强武器的大小,然后输出.原创 2021-11-11 12:18:26 · 155 阅读 · 0 评论 -
【最小公倍数】A. Di-visible Confusion
题目来源Problem - 1603A - CodeforcesCodeforces. Programming competitions and contests, programming communityhttps://codeforces.com/problemset/problem/1603/A题干官方思路解释对于任意一个ai,要想它被消除,就必须在【2,i+1】之间找到一个不可被整除的数。然而由欧几里得最小公倍数原理当i>=22时,lcm(2,3,..原创 2021-11-10 14:03:45 · 299 阅读 · 0 评论 -
【非常简单的】A. Computer Game
题目来源Problem - 1598A - Codeforceshttps://codeforces.com/problemset/problem/1598/A题干个人思路要想让小伙子前进不了只要在任意一列都放上1,他就到不了终点啦注意到在这里的输入形式为连续的数字,所以为在数组中放一个字符,数组使用char类型代码段void solve()//computer game{ int n; cin >> n; vector<vector<ch.原创 2021-11-09 12:42:04 · 199 阅读 · 0 评论 -
【十分绕脑的2的n次方】B. Update Files
题目来源Problem - B - CodeforcesCodeforces. Programming competitions and contests, programming communityhttps://codeforces.com/contest/1606/problem/B题干个人思路在while循环中,只要目前上传成功的电脑不大于总电脑数,并且每次操作的次数不大于操作能力限则执行操作,并且让每次让执行能力按照2的n次方递增,由于最后一次执行可能会让sum+i的结果大原创 2021-11-08 09:54:36 · 102 阅读 · 0 评论 -
【脑筋急转弯】A. AB Balance
题目来源Problem - A - Codeforceshttps://codeforces.com/contest/1606/problem/A题干官方思路解释今天做了一道很简单的智力题,但是经过提示才做出来。只要两端的元素相同无论是内部哪个元素。必然会有AB(s)=BA(s)可以轻易证明假设两个相同元素a之间都是b,则AB=BA=1类似的如果里面是不同的元素我们可以将这个字符串看成几个部分,比如abbbabbaba可以看成 abbba ab...原创 2021-11-07 19:32:01 · 347 阅读 · 0 评论 -
【模拟思想】E. Robot on the Board 1
题目来源Problem - E - Codeforceshttps://codeforces.com/contest/1607/problem/E题干官方思路解释对于任意起始坐标(c,r)要想robot 出局,只有四种可能,向左移动c个单位,或者向右移动m-c+1个单位 。向上r个单位,或者向下n-r+1个单位。...原创 2021-11-06 13:58:45 · 234 阅读 · 0 评论 -
【int与char的配对】D. Blue-Red Permutation
题目来源Problem - D - Codeforceshttps://codeforces.com/contest/1607/problem/D题干解析这道题采用了暴力和排序算法首先要将int和char配成一对元素存入数组。由于未知原因如果使用vector,会在后期无法比较int元素的大小(待证明)在参考了此文章思路后Codeforces Round #753 (Div. 3) A B C D E(持续更新中)_snowandraw.的博客-CSDN博客Codefo..原创 2021-11-05 12:28:58 · 139 阅读 · 0 评论 -
【数列单调性与差值的稳定性】C. Minimum Extraction
题目来源Problem - C - Codeforceshttps://codeforces.com/contest/1607/problem/C题干解释先将数列排好序,因为每一轮都是减法操作,所以淘汰顺序都是按照数列的单调性来的,设一个max来存放并更新每一次淘汰的数的大小。由于假设目前淘汰到了第i个数,那么后这n-i+1个数字被减的次数和数量都是一样的,故相邻两个数a[i]-a[j]的值恒定,然而在a[i]被淘汰之后,需要与a[i]代码段void solve(){ i.原创 2021-11-04 17:12:43 · 274 阅读 · 0 评论 -
【贪心思想】Blocks
题目题目来源:(校选拔)NTU_ACM-2021新生预选赛2 - Virtual Judgehttps://vjudge.net/contest/462138#problem/ZProblem - B - Codeforceshttps://codeforces.com/contest/1271/problem/B解析感谢这篇文章的思路与代码提供B. Blocks-------思维+贪心(稍思维)_AKone123456的博客-CSDN博客There are n blocks ar.原创 2021-10-31 17:38:30 · 115 阅读 · 0 评论 -
【按位异或】B. XOR Specia-LIS-t
题目来源Problem - B - Codeforceshttps://codeforces.com/contest/1604/problem/B题干官方思路解释当数列个数n为偶数时,我们可以分成n的子数列,每个数列只有一个元素,这样LIS就都为1偶数个1 XOR运算必然为0所以都是可以的当n为奇数时,我们可以寻找相邻的两个元素,ai和ai+1,只要保证ai>=ai+1;即可,然后将他们两个分成一组,LIS仍然为1,剩余n-2个参考偶数情形处理但当数列为..原创 2021-10-31 15:12:43 · 272 阅读 · 0 评论 -
【数列处理】A. Era
题目来源Problem - A - Codeforceshttps://codeforces.com/contest/1604/problem/A官方思路解释让指针i进行遍历,只要找到max(ai-i)然后从头开始插入ai-i个元素就可以保证对于任意i,ai<=i)本人mle代码void solve(){ int n; cin >> n; vector<int>a(n); for (auto& x : a)cin >...原创 2021-10-31 14:04:43 · 151 阅读 · 0 评论 -
【抽屉原理】D. Vupsen, Pupsen and 0
题目来源:Problem - D - Codeforceshttps://codeforces.com/contest/1582/problem/D官方思路:解释:对于数组元素个数进行 奇偶分析当n为偶数时,我们将元素分成2/n对来处理,对于第一对 a1,a2;我们想让a1b1+a2b2为0,因此我们可以让b1=a2;b2=-a1;以此类推bi=ai+1;bi+1=-ai;这样能保证...原创 2021-10-28 20:12:54 · 195 阅读 · 0 评论 -
【二进制与位运算】C. Array Elimination
题目来源:Problem - C - CodeforcesCodeforces. Programming competitions and contests, programming communityhttps://codeforces.com/contest/1602/problem/C题干:按位与运算的定义:算法解释:官方思维:解析:感谢这篇文章对于英文解释的翻译和总结:Codeforces-1601A: Array Elimination_Sher...原创 2021-10-27 19:54:57 · 380 阅读 · 2 评论 -
【利用数组下标和内容存放二元信息】B. Divine Array-26
题目来源:Problem - B - Codeforceshttps://codeforces.com/contest/1602/problem/B题干:测试数据INPUT 272 1 1 4 3 1 243 01 12 26 121 121 02 1000000000OUTPUT123312官方思路:当步数大于n或者放缩到更小log(n)的时候,行为将会重复(待证明)学长代码:void solve() { in..原创 2021-10-26 19:30:59 · 151 阅读 · 0 评论 -
【第一道水题】A. Two Subsequences
题目来源:Problem - A - CodeforcesCodeforces. Programming competitions and contests, programming communityhttps://codeforces.com/contest/1602/problem/A题干:第一道水题,结果被想复杂了。这个只需要将字符串进行排序,然后输出一个最小元素和一个缺少最小元素的字串即可别人的源代码:#include<bits/stdc++.h>#..原创 2021-10-26 18:25:46 · 238 阅读 · 0 评论 -
【想破脑袋的题】C. Grandma Capa Knits a Scarf
题目来源:Problem - C - CodeforcesCodeforces. Programming competitions and contests, programming communityhttps://codeforces.com/contest/1582/problem/C类型:字符串数组,回文字符题干:第一组数据:input58abcaacab6xyzxyz4abba8rprarlap10khyyhhyhkyoutput2-103..原创 2021-10-26 15:50:26 · 264 阅读 · 0 评论 -
【第一道ac的cf题】B. Luntik and Subsequences
题目来自:Codeforces Round #750 (Div. 2)原题呈现:Problem - B - Codeforces题干:第一组数据:本人源代码:#include<iostream>#include<cmath>#include<iomanip>#include<string>#include<algorithm>#include<assert.h>#include<v..原创 2021-10-25 13:44:47 · 170 阅读 · 0 评论