1 Recurrr

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 18w+

树状数组

之前写过两天学习的树状数组的总结,但因为太仓促很多地方没写详细,这周复习的时候也卡了一下,所以补充一下。第一天总结第二天总结其中场景3的区间修改查询部分 a[1]+a[2]+……+a[r-1]+a[r]=t1[1]+(t1[1]+t1[2])+……+(t1[1]+……+t1[r])=(t1[1]*(r))+(t1[2]*(r-1))+……(t1[r]*1)=r*(t1[1]+t1[2]+……+t1[r])-(t1[1]*0+t1[2]*1+……+t1[r]*(r-1))=(r+1)*(t1[

2020-10-15 23:08:08

第六周总结

周一看到了费老师的话觉得不能在混下去了,所以我尽可能地挤了挤课余的时间,用来看上周计划的DP,但无奈专业课实在太多,有时候预习都看不完,只能用毛概这种水课或者可最少的一天来看。周三看到群里分享的一位学长的经验,感触很深,印象最深的一条教训的是不要死记模板,记得之前学的几个算法,像BFS,DFS,学的时候都是死记的模板,过一段时间就忘了,于是我改变了一下方法,在看树形DP的时候我把代码的每一步都写了出来,虽然费了点时间,但明显感觉比之前几种方法记忆的效果好,再写代码的时候感觉在脑中模拟这个过程而不是下一步该写

2020-10-11 22:46:41

第五周总结

上周听了同学讲了数论的课,因为最近这段时间CF很少打到需要数论的题目,发现自己数论忘了好多,于是又把课件翻了出来出来整理了一下,按照自己的理解整理一下,有图也有不同字体不太方便发打算下周做一做VJ的DP...

2020-10-04 21:38:41

周结

这周感觉突然变忙了,完全没时间按上周的计划进行,网络赛的题也只看了一个,一开始课前计划预习来减少课后复习的时间,结果发现时间根本不够,课太频繁了,写完今天的作业有时候预习都看不完,还连着好几个晚上搞综合测评,后来想趁着数据结构课看一下书,结果一个线性表直接把我搞蒙了,看了很长时间的类才最后勉强看懂线性表,数分作业也突然变多二十个题写了六页,还要开会,周末的时间也没了,幸好下周有国庆节,可以用这个时间补一补DP。...

2020-09-27 23:59:12

9.20网赛总结

今天的网赛打得很艰难,一个队友还没开始就走了,另一个敲一半去上课了,虽然有三个水题,但还是花了很长时间,第十一题看了一个多小时终于有了思路,又花了好长时间写代码,明明只有二重循环可无论怎么优化还是超时,最后心态崩了就提前一个小时走了,准备过两天再找找题解。大概看了一下其他的题目,有很多是图论的题,但这部分我还没怎么看,所以直接放弃了,打算这周抽时间看看图论的内容。这次网赛给我的感觉和平常做的题不太一样,以前我一直以为我最擅长的是读题,但做了这次网络赛,我觉得自己可能没有擅长的。...

2020-09-20 23:33:50

Codeforces Round #664

A - Boboniu Likes to Color Balls#include<bits/stdc++.h>#define INF 0x3f3f3f3fusing namespace std;int a[5];int main(){ int t; cin>>t; while(t--) { int ji=0,ou=0,minn=INF,f=0; for(int i=1;i<=4;i++) {

2020-08-13 17:36:58

8.12日结

昨天看了好久的树形DP,感觉什么都没看懂,就去补了一下一本通的树,看了基本概念,再看树形DP感觉顺畅了许多,然后又补了上次CF的C题,因为不认识计算机系的,所以没主动找别人组队,等其他人组完才发现自己好像是多的那两个。...

2020-08-12 22:25:45

Codeforces Round #663

A.Suborraysor运算:两个二进制数,每个位置如果都为0,取0,否则取1输出一个序列使得任意连续个数连续做or运算,值大于等于连续的数的数量代码就是输出1到n ,因为我看通过的人特别多所以直接猜的,猜的依据是两个数做or运算得到的数一定大于等于 两个数中大的那一个(好像是相等时取等),并且这个数肯定远大于长度( j - i + 1 ),因此按顺序输出符合题意。C. Cyclic Permutations由1~n组成的排列,使得对于某一个数,前后都有大于它的数,称为环,求至少有一个环的排列

2020-08-12 16:44:08

8.10日结

今天大概看了一下区间DP,把上学期做过的练习里面的题没做出来的翻出来看了看,没想到才看第一个就被卡了好久,关于正式的时间的表达可以用printf("%02d",3);输出结果为03,%2d表示把整型数据打印最低两位,%02d表示把整型数据打印最低两位,如果不足两位,用0补齐。昨天的CF也不知道该怎么说,AB太水,C又太难,连题都看不懂。...

2020-08-10 22:54:49

Codeforces Round #662

B. Applejack and Storages给出一堆长度的线段,每次增加或减少某个长度的,问能否构成一个正方形加一个矩形#include<bits/stdc++.h>using namespace std;int a[100010],s2=0,s4=0;void add(int x){ a[x]++; if(a[x]==2) s2++; else if(a[x]==4) s2--,s4++; else if(a[x]==6) s2++;

2020-08-09 22:18:08

8.07日结

昨天看的那部分没看完,感觉没有形成完整的体系,没什么可写的,以下是这两天的。欧拉回路:不重复走过所有路径的回路。哈密尔顿环:不重复走过所有路径并回到起点的回路。对于一个有n个点,m条连线的图有四种求最短路径的方法1.Floyed算法memset(f,0x7f,sizeof(f));for(k=1;k<=n;k++) //中转节点,k必须放在最外面一层循环 for(i=1;i<=n;i++) for(j=1;j<=n;j++)

2020-08-07 22:37:14

8.05反思

今天一天过得很荒废。。反思这一天的所作所为,上午去补办了身份证,下午学车,零零散散的时间就看了十几页的一本通,但因为上面的哈密尔顿环没有题目,只有代码,就去网上搜资料,结果一不小心又扯远了,看到了欧拉关于图论的两个定理,感觉不能再这样了,在家效率太低了,打算明天直接早起去图书馆把一本通刷完...

2020-08-05 23:00:00

8.4日结

看了群里推荐的浙大网课的图论,因为学车所以只看完了上篇,包括结点的度、有向无向图以及图的遍历的概念和两个例子,虽然是c的但是能看懂个大概,上篇的内容就是DFS和BFS,也没学到什么新的知识,相当于复习了一下BFS和DFS,之前靠死记公式的两个模板看了视频之后,感觉有个更形象的理解,知道了具体搜索的时候是如何进行的。但因为是针对C的,许多地方确实有代沟,我打算明天只看个大概的思想,然后转向一本通的图论部分。...

2020-08-04 23:04:37

7月总结

不知不觉已经做了一个月的题了,尽管每题都做了题解,但不得不承认有些题还是看都看不懂,对我来说div3的比赛能看懂到D已经算是比较好的,个人能感觉到的提升大概就是:1.有些难题渐渐可以看懂了,但是要重现、应用的话还是有困难,2.做简单题的速度有所提升,最快的一次的是前几天的一道C题看题加写代码用了十分钟。我认为自己的缺点在于对新思想的理解较慢,树状数组花了将近三天才搞懂原理和如何在题目里应用,我的理解是构造思路时先使用树原数组,最后写代码的时候在把原数组的求和和修改部分换成树状数组会比较简单;对线段树的理解更

2020-08-02 21:49:47

7.30日结

修改中含有加和乘的线段树传送门#include <bits/stdc++.h>#define MAXN 100010#define ll long longusing namespace std;int n, m, mod;int a[MAXN];struct node{ ll sum, add, mul; int l, r;}s[MAXN*4];void pushdown(int pos) { s[pos << 1].sum = (s[pos <&l

2020-07-31 23:23:04

7.29日结

P1637 三元上升子序列题目#include<bits/stdc++.h>#define INF 0x3f3f3f3fusing namespace std;int n,m,t1[30010],t2[30010],a[30010],b[30010],l[30010],r[30010];inline int lowbit(int x){ return x&(-x);}inline int pos(int x){ return lower_bound(b+1

2020-07-30 00:41:00

7.28日结

昨天对树状数组的理解好像有点问题,今天又重新理解了一下,首先是这三个最基本的代码int lowbit(int x){ return x&(-x);}void add(int x,int k){ for(;x<=n;x+=lowbit(x)) t[x]+=k;}int ask(int x){ int ans=0; for(;x;x-=lowbit(x)) ans+=t[x]; return ans;}场景1:

2020-07-28 22:03:31

7.27日结

个人对lowbit() 的理解,int lowbit(x){return x&(-x);}n 补码是 ~ n ,~n+1=-n,所以写x&(-x)而不是x&(-x+1)两个应用:首先是查询,g以上图的 节点6 为例(图源b站),6-lowbit(6)=4,4-lowbit(4)=0,t [ 6 ] 表示的是 a [ 5 ] ~ a [ 6 ] 的和,t [ 4 ] 表示的是 a [ 1 ] ~ a [ 4 ] 的和,因此t [ 6 ] + t [ 4 ] 得到是 a [.

2020-07-27 21:23:49

Codeforces Round #659

A给出 n 个数,要求第 i 个数与第 i+1 个数与 ai 个相同#include <iostream>#include<vector>#include<algorithm>#include<string.h>using namespace std;string a, b, c;int Maps[1005],maxsize = 0;void cmpt(string &a, string &b,int size){

2020-07-25 20:53:12

7.24补题

CodeForces - 1213C给出n,m,求小于等于 m 的范围内所有 n 的倍数的最后一位的和#include<bits/stdc++.h>#define INF 0x3f3f3f3fusing namespace std;int a[11];int main(){ int t; cin>>t; while(t--) { long long n,m,x; cin>>n>>m; x=m; x=

2020-07-25 20:32:16

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。