自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 收藏
  • 关注

原创 周总结

桶(将数组分配到有限数量的筒子里面去,节约重复数据的空间)(与离散化处理连用,减小存储空间)树状数组lowbit(n)int lowbit(int x){ return x&(-x);}单元素加(减)法void add(int i,int v){ while(i<=n) { bit[i]+=v; i+=lowbit(i); }}查询前缀和int sum(int i){ long long res

2020-10-11 22:53:49 129

原创 第六周总结

模板(了解)模板函数:在重载函数过程中,功能相似但形参或返回值不同时,通过使用模板定义一个具有通用功能的函数,同时支持不同的参数和返回值。(利用已知函数进行函数的重载)模板类:当类包含不确定的成员变量,或成员函数的返回类型、形参的类型不确定时,用模板类来解决。格式:模板类名<模板参数> 对象名1,对象名2,……对象名(需在类前声明加上模板标志)线性表逻辑结构:任意一对相邻的数据元素之间存在序偶关系,且称ai-1为ai的前驱,ai为ai-1的后继。其中a1无前驱,an无后继,除此之外每个

2020-10-04 23:08:33 181

原创 周总结

1、数据结构学习类:个人感觉和struct有点类似。但要注意public和private的引用范围。成员函数和普通函数除开头外感觉没什么差别。构造函数:不能有返回类型,建立类时自动调用。形式:类名::类名(参数表)析构函数:无参数,无返回值,运行结束自动调用。形式:类名::~类名()成员函数形式:返回类型 类名::函数名(参数表){}线性表:(顺序表示,链式表示)上课主要是讲了一些定义相关的内容,实际操作要与类相结合。课下和实践课把整个表的定义部分和所有的成员函数都敲了一遍。顺序表示的时候和数组

2020-09-27 23:00:27 89

原创 9月20日比赛总结

今天参加了这一次的网络选拔赛,因为没给自己太大的压力,所以整体的做题过程还算是比较轻松的。第一题应该是一个给左下角和右上角的坐标求覆盖的点的数量的一个题目,但即使我用暴力来模拟,还是在最后一个样例出现问题,导致在这个题上浪费了好长的时间也没有结果。因为第一题浪费了不少时间,所以我们开始看提交人数比较多的题目来做,有几个水题出的人比较多,所以也写了出来。A的第一道题是只有0和1,不允许有相同的数字相邻的,题意和代码都比较简单,队友很快就弄出来了。第二道题意是找字符串里出现次数最多字母,题意的话感觉有点乱,

2020-09-20 23:00:56 84

原创 codeforce 1395总结

团队赛初试。

2020-08-13 22:12:23 214

原创 Codeforces Round #662 (Div. 2)补题

A:A Rainbow Dash, Fluttershy and Chess Coloring签到题(在题意理解上花费了较多时间,不该)代码:#include <bits/stdc++.h>using namespace std;int t,n;int main(){cin>>t;while(t--){ cin>>n; cout<<n/2+1<<endl;}}B:Applejack and Storages

2020-08-08 23:05:21 80

原创 8/4总结

今天主要复习了DP相关的一些内容,另外在洛谷上找了两个提高的题找找感觉。P3146 [USACO16OPEN]248 G洛谷链接题意:给定一个1*n的地图,在里面玩2048,每次可以合并相邻两个(数值范围1-40),问最大能合出多少。注意合并后的数值并非加倍而是+1,例如2与2合并后的数值为3。思路:基本可以算是模板题,dp[i][j]表示区间i—j可以合成的最大数。转移方程:if(f[l][k]==f[k+1][r])f[l][r]=max(f[l][r],f[l][k]+1)。注意对f数组赋初值

2020-08-04 22:52:53 135

原创 暑假训练阶段总结

暑假训练有一段时间了,感觉自己的主要的收获可能还是在刷题。经常性的刷一些思维题和一些理论题,见的题多了,题解也处理了不少。感觉自己在思维题上的思路转的快了不少,想法的多维性也扩大了许多(打cf的题除外)另外是觉得自己在理论知识的总结和应用上差了不少。后续可能回多去洛谷上找一下针对性强的题来看看。...

2020-08-02 23:02:16 152

原创 树状数组总结

将传统的线性结构的数组转换成树。图例:B[2]=A[1]+A[2];B[3]=A[3];B[4]=A[1]+A[2]+A[3]+A[4];B[5]=A[5];B[6]=A[5]+A[6];B[7]=A[7];B[8]=A[1]+A[2]+A[3]+A[4]+A[5]+A[6]+A[7]+A[8];其中:B[2]=A[1]+A[2];B[3]=A[3];B[4]=A[1]+A[2]+A[3]+A[4];B[5]=A[5];B[6]=A[5]+A[6];B[7]=A[7];B[8]=A[1]+A[2]+A[

2020-07-29 23:21:11 90

原创 Codeforces Round 1384

A. Common Prefixes题意:构造 n +1 个字符串,使得第 i 和 i+1 个字符串的公共前缀长度为 a[i].题解:光理解题目就用了好久,想思路的时候想着一个个来,但前缀减小的情况没想清楚。看完官方题解豁然开朗。第一个串全部构造成’a’,然后前缀相等的部分我们不用管,只需要改变上一个字符串的第一个非前缀字符就行了,后面都不用管,然后直接输出。#include <bits/stdc++.h>using namespace std;int t,n,u;string s;

2020-07-26 21:59:33 823

原创 暑假训练第三周第四天

题意:A CodeForces 1217D:给定一个无自环、无多重边的有向图。好染色图的定义:如果一个有向图每条边都有颜色,并且一个环中不止有一种颜色,那么这个图称为一个好染色图。现在要你求最少多少种颜色,可以把给定的有向图染成好染色图。B CodeForces 1217A:给出str,int,exp问在用完exp的条件下,有多少情况使得改变之后的str>int。C CodeForces 1217B:t组数据,n个攻击力,刚开始恶龙有x个头,每个攻击力di。hi,意思是可以砍掉di个头,然后有

2020-07-24 22:17:36 103

原创 暑假训练第三周第三天

题意:A:CodeForces 1216D:n个类型的剑被偷了,每个类型还剩a[1]……a[n]把剑。每个盗贼只能偷一个类型的剑且所有盗贼偷的剑数相同,求多少的贼和每个贼偷几把剑。B:CodeForces 1216A:让一个字符串的所有偶数前缀中的a,b的数量相同。C:CodeForces 1216B:给定n个罐子,第i个罐子a[i]需要射击 (a[i]x+1) 次,问击倒n个罐子最少需要射击多少次,并输出罐子的初始编号,x是在射击这个罐子之前已经射击了几个,第一个射击时 x=0。D:CodeFor

2020-07-23 22:35:41 98

原创 codeforce #658 B. Sequential Nim

题意:两个人,n个石堆,每次只能按顺序从一个石堆取若干个石头,谁先没石头拿,谁输。每个人都是最优拿法。思路:谁先拿到石头数大于1的石堆,谁赢。六种情况:1、所有石堆的石块数全为一,奇数个石堆1赢,偶数个石堆2赢。2、前面有x个数量为1的石堆,x%21,2赢;x%20,1赢。3、其他情况均为1赢。代码:#include <bits/stdc++.h>using namespace std;int t,n,a[100010],f;int main(){cin>>t;..

2020-07-22 22:42:50 193

原创 codeforce #658 A. Common Subsequence

题意:找两个数组的最短子序列。思路:要么没有,要么长度为一。只要判断两个数组有没有相同的元素即可。代码:#include <bits/stdc++.h>using namespace std;int t,n,m,a[1010],b[1010],c[1010],f;int main(){ cin>>t; while(t--) { cin>>n>>m; for(int i=1;i<=1..

2020-07-22 22:27:41 173

原创 暑假训练第三周第二天

题意:A:CodeForces - 1234C:一共六种类型的水管头,可以旋转, 问给定的水管能否从1, 1连通到2, n, 输出yes,no。B:初始一个序列n个数,从1到n,序列pi指在初始序列基础上将第i个元素移动至首位。pos(pi,val) 。代表序列pi值为val的数的位置。给出m个数,对于每个pi,求出∣pos(pi,x1)−pos(pi,x2)∣+…+∣pos(pi,xm−1)−pos(pi,xm)∣。C&F:CodeForces - 1234B1:一共有n条信息,屏幕上只能显

2020-07-21 22:00:13 112

原创 暑假训练第三周第一天

题意:B:CodeForces 1238D:给你一个只包含AB的字符串,问你有多少个回文子字符串。C:CodeForces 1238A:两数之差是否能分解成一个素数的若干倍。D:CodeForces 1238C:在h的高度(此处有踏板),character只能跳一层楼或者两层楼,每在一个h高度时,可以按动lever,使得本层踏板收回,下一层的踏板会改变状态(缩进去会伸进去,伸进去的会出来)。如果跳超过两层,可以用魔法使一层改变状态。求最少要用多少次。E:CodeForces 1238E:一串字母字符

2020-07-20 22:19:00 123

原创 cf1379 B. Dubious Cyrpto(反思)

原思路:外循环b-c,内循环找a,再来个循环确定b和c。外循环变大,优化程度不够。后面没走出来,思路停留在二重循环。#include <bits/stdc++.h>using namespace std;int t,l,r,n,a,b,c,m,maxi,minn,f;int main(){ cin>>t; while(t--) { cin>>l>>r>>m; maxi=r-l;

2020-07-19 23:21:10 233

原创 Codeforces 1385补题

A:Three Pairwise Maximums题意:给你三个整数x、y、z,然后需要找出三个数a、b、c,使这三个数满足 x=max(a,b), y=max(a,c) and z=max(b,c),或者确定这三个数不存在思路:先排序,分三种情况:三个都一样;两个一样且大于第三个;其他。#include <bits/stdc++.h>using namespace std;int x[4],a,b,c,t;int main() { cin>>t; while(

2020-07-18 22:52:46 106

原创 暑假训练第二周第三天

C:CodeForces - 1260E题意:现在有n个人打拳,序号小的打不过序号大的,并且如果你花ai元贿赂第i个人,你就能赢,且你可以分配每次比赛的组队以及贿赂,问你最少需要多少钱能赢到最后。思路:a个人进入到了前a强,那么按能力值从小到大,就必须第1个人前面有至少(n/a)-1个人;第2 个人前面至少2*(n/(a)-1) 个人…如果贿赂的人不在n/a 到 n 之间,那么必定在n/(a*2) 到 (n/a)-1 之间,但这里面最多总共有(n/a)-3个人 < 2 * (n/(a2)-1),所

2020-07-16 22:52:51 543

原创 暑假训练第二周第二天

复习训练:A题:数据类型失误,WA了一次。B题:欧几里得定理的应用,专门把ppt里的一些弄出来做了。C题:贪心,不熟练,感觉有必要从dp开始梳理一下。D题:三进制。半硬记,想着以后推类似的4进制、5进制能用上。E题:队列的简单应用。F题:之前看的题解主要是用贪心来做,看的时候好像明白了,但其实就明白了个思路,贪心策略,从头开始想还是有难度。新看到一种题解方式,用排序的方式不断减小范围。链接G题:贪心,嗯……明天下午复习贪心。...

2020-07-15 22:57:40 117

原创 暑假训练第二周第一天

题意:A(CodeForces - 1257B):一个数如果是偶数可以选择乘以3/2,如果大于1可以选择减一同时满足可以选择任意操作。给你两个数a和b,问能否通过操作让a变成b。题解:A CodeForces - 1257B思路:刚看完题目想着是递归判断,冷静了一下,发现a是可以得到所有比a小的数的(一直减一)。试着把a=1,2,3,4列出来,a=1,b=1;a=2,b=1或2或3;a=3;b=1或2或3;a=4,b=1,2,3,4,5,6……(无上限)。这样的的话,比4大的数也都是可以取到任意数。

2020-07-14 21:40:09 103

原创 暑假训练第一周第六天

题意:A(CodeForces - 1249 C1&C2):找一个最小的大于n的数,要求是3的幂次和且每个次数最多出现一次。B(CodeForces - 1249A )一组数,如果有两数之差为一,把他们放在两个不同的组里。C(CodeForces - 1249 D1&D2):给多组线段,每一个点的覆盖次数不超过K,每次可去除一个线段,问最少去多少线段以及线段的位置。D(CodeForces - 1249 B1&B2):数组a[n],每过一天书会从i转到a[i],问多少天回到最

2020-07-11 21:54:09 132

原创 暑假训练第一周第五天

题意:A(CodeForces - 1251E1&E2):有n个人,每个人有各自的mi 和 pi。 如果有mi个人投你,那么他也会投你,如果不是mi个人投你,若让他投你,你就得花费pi 去贿赂他,问所有人投你要花费多少。B(CodeForces - 1251C):一个数字字符串,如果相邻的两个数奇偶性不同则可以交换,问你这个数字最后最小是多少,保留零。C(CodeForces - 1251A):键盘坏了,按某个键会自动多按一次,找一定好的键。D(CodeForces - 1251D):N个员

2020-07-10 22:02:56 163

原创 暑假训练第一周第四天

题意:A(CodeForces - 1257E):三组数,按顺序最多分成三组,求数字移动的最小次数。B(CodeForces - 1257C):找一个数组的子数组,要求除头尾两数相同外,中间包含的数互不相同。C(CodeForces - 1257A):让两个位置的数,在指定步数内距离尽可能的大。D(CodeForces - 1257D):有 n 个怪兽和 m 个英雄,每个怪兽有一个能力值 a,每个英雄有一个能力值 p 和 耐力值 s。每天都要派一个英雄去牢房里清理怪兽,当英雄的能力值大于怪兽时才能清

2020-07-09 21:32:18 101

原创 暑假训练总结第一周第三天

题意:A(CodeForces - 1256F):给两个长度为n的字符串s和t,每次操作你可以指定一个长度len,然后在s和t中分别选择一个长度为len的子串,将这两个子串翻转,可以进行无数次操作,问最后是否能使得两个串相同。B(CodeForces - 1256D):给定一个01串,可以任意交换相邻元素位置,交换k次,输出字典序最小的串。C(CodeForces - 1256A):给定4个数a、b、s、n,满足ax+y1=s,x取值范围[0,n],y取值范围[0,b],判断是否存在x,y。D(Co

2020-07-08 22:31:47 113

原创 暑假训练总结第1周第二天

题意:A(CodeForces - 1260F):给你一棵n个节点的树,每个节点都有一个颜色。这棵树的权值定义为,任意两个相同颜色的点之间的路径长度之和。但是,这棵树的每个点的颜色是不确定的,你只知道节点i的颜色属于某一个区间[li,ri],于是这棵树总共就有∏1≤i≤n(ri−li+1)种可能。你需要求这么多种可能情况下的树的权值和。B(CodeForces - 1260D):长度为n的地形有m个士兵,和k个陷阱,给你t时间,每个士兵都有自己的灵敏度。在li处有伤害度为di的陷阱,可以在位置ri处解除

2020-07-07 21:49:23 121

原创 暑假训练总结第1周第一天

题意:A(CodeForces - 1272F):两个括号字符串是s、t,制造一个最短的括号字符串并使得s和t是它的字串(s和t可以不连续)。B(CodeForces - 1272D):最多删除数组中的一个元素,求操作后的最长单调增序列的长度。C(CodeForces - 1272A):三个数,分别可以加一、减一或者不变。求三者操作后分别两两做差的绝对值之和的最小值。D(CodeForces - 1272E):长度为n的数列ai,每个位置i可以跳到i-ai或i+ai的位置。要求i和经过任意次跳跃后的

2020-07-06 22:20:39 174

原创 ACM课程总结

一个在特殊时间的学期快要结束了,接下来很多课都要进入总结复习的阶段,下面就是关于这个让人又爱又恨的课的课程总结了。1、学习总结这学期主要的学习过程:递归→贪心→dp(动态规划)→二分三分→数论。中间还掺杂着STL里的一些东西,还有最后的补充数组(但这块搞得我真的有点头大有两个甚至连原理都很迷)1)递归(函数的自我调用)思维方式:把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解。关键点:递归边界及递归定义(大型问题与小型问题之间的关系)。感受:理解起来还好,用起来也算是比较顺溜

2020-06-15 00:22:32 239 1

原创 12周总结

1.更相减损术:利用a,b的奇偶性,不断减小目标数值,把大数缩小成数值较小的数,在进行求公约数计算,减小运算次数2.最小公倍数:lcm(a,b)=a*b/gcd(a,b),先求最大公约数再求最小公倍数,还是要以公约数求法为基础3.同余:若a mod m=b mod m,称a,b同余m,记为a≡b(mod m)4.费马小定理:p为素数,a,p互素,则a^(p-1)≡1(mod p)a^p≡a(mod p)a^b mod p=a ^(b mod p) mod p5.欧拉定理:a^φ(m)≡1(mod

2020-05-18 00:04:55 109

原创 Codeforces Round #642 (Div. 3)C. Board Moves

原题:https://codeforces.com/contest/1353/problem/C题意:t组案例,n为奇数,n*n格矩阵中,其他所有位置都要往中心点移动(可沿对角线移动),求总的移动次数。思路:如图所示,可将目标分解成8块等价的区域,即一块白色区域加一条黄色线。循环以对角线1 9 17为标准,第二次循环为2 10,这样可以用等差数列求和公式计算移动次数(首相为1,项数为(n-1)/2-i+1).#include <bits/stdc++.h>using namespac

2020-05-17 23:24:01 137

原创 Codeforces Round #642 (Div. 3) B. Two Arrays And Swaps

原题:https://codeforces.com/contest/1353/problem/B题意:t组案例,n为数组a,b大小,k为可交换次数,求经过k次交换后,数组a的和值的最大值思路:sort排序,a升序,b降序,从头开始比较k次,a比b大就交换,在求和。#include <bits/stdc++.h>using namespace std;int t,n,k,a[40],b[40],sum;bool cmp(int a,int b){ return a>b

2020-05-17 23:08:37 145

原创 Codeforces Round #642 (Div. 3) A. Most Unstable Array

原题:https://codeforces.com/contest/1353/problem/A题意:t组案例,n和m两个整数,将m分解成n个数,可为零,使得相邻两数差的绝对值之和最大并求最大值。思路:n=1,输出0n=2,输出m-0n>2,数组可以分为:0 0 0…0 0 m 0 0 …0 0 0结果为2*m故代码为:#include <bits/stdc++.h>using namespace std;int t,n,m;int main(){cin>&g

2020-05-17 23:00:44 108

原创 11周总结

数论:1整除的重新定义。2素数。3因数分解。4整数唯一分解定理的推论(没懂)大部分的理论知识在高代上学过了,迁移过来就行了。问题有:1、筛法的实际应用,基础版本会用,但实际打两个题操作起来感觉还是有点不流畅(可能还要再练练)2、数学理论和程序的融合感觉还是有点隔阂,可能是太久没用相关知识了,生疏了。cf反思:https://blog.csdn.net/qq1476318201/article/details/106044560https://blog.csdn.net/qq1476318201/ar

2020-05-11 00:25:08 121

原创 Codeforces Round #640 (Div. 4) C. K-th Not Divisible by n

原题:https://codeforces.com/contest/1352/problem/C题意:从1开始,找到第k个不能被n整除的数思路:一开始暴力,超时了(猜到了,但还是想试试),之后试着从循环的角度去想。用3 7 举例19=7%(3-1)+7/(3-1)*3,再把n=2和余数为零的情况分开来讨论就行了。#include <bits/stdc++.h>using namespace std;int t,n,k,i,sum,x;int main(){ cin>&

2020-05-10 23:35:44 141

原创 Codeforces Round #640 (Div. 4) A. Sum of Round Numbers

原题:https://codeforces.com/contest/1352/problem/A题意:t组数,将每个数分解成首位不为零而后面全为零的k个数,先输出k再输出k个数思路:一开始把n当做整数来考虑,分解的时候想着从10开始向上依次分解,到余数为零的时候跳出(for循环的话不清楚n的长度)。 memset(a,0,sizeof(a)); cin>>x; sum=1; i=10; while(x%i!=0){ a[sum]=x%i;

2020-05-10 23:24:35 145

原创 10周总结

二分法麻烦在g题上Inhabitants of the Wonderland have decided to hold a regional programming contest. The Judging Committee has volunteered and has promised to organize the most honest contest ever. It was dec...

2020-05-06 00:27:44 110

原创 二分初总结/cf反思

二分法:基本思想来源于二分查找(有序数组对半查找指定数)。找中间值,通过题目条件进行判断(记录答案/重新确定区间再取中间值)。拓展问题:最大值的最小值、最小值的最大值。(没太想明白,代码基本可以理解,但思路上感觉还是有点堵塞)cf:第一次打Div3的,感觉还行,一开始基本思路都还算能想的到的,就是打到第三题的时候感觉脑子乱了,可能是时间上还没调节过了,但至少是有了点信心。然后打Div2的时候心态...

2020-04-26 21:15:09 131

原创 Codeforces Round #636 (Div. 3) C. Alternating Subsequence

原题:https://codeforces.com/contest/1343/problem/C官方题解:https://codeforces.com/blog/entry/76352题意:t组测试样例,n个数,找长度最长且元素之和最大的交替子序列(第一要求是最长的交替子序列,然后才是元素之和最大)一开始想到dp上去了(最近都在做这类题,感觉都快魔怔了),测试数据都是过了的,但是wal了...

2020-04-22 12:49:16 132

原创 Codeforces Round #636 (Div. 3) B. Balanced Array

原题:https://codeforces.com/contest/1343/problem/B官方题解:https://codeforces.com/blog/entry/76352题意:t组测试样例,输入n,表示一共输出n个数,前n/2个为偶数,后n/2个为奇数,要求奇数之和与偶数之和相等。首先n必须是4的倍数,不然奇数之和必为奇数,直接输出NO。测试样例中可以看出偶数组是常规的递加关...

2020-04-22 12:24:29 163

原创 Codeforces Round #636 (Div. 3) A. Candies

转载:原题:https://codeforces.com/contest/1343/problem/A题解:https://codeforces.com/blog/entry/76352Recently Vova found n candy wrappers. He remembers that he bought x candies during the first day, 2x cand...

2020-04-22 12:05:21 249

空空如也

空空如也

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

TA关注的人

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