摘要: 首先,这题的第一问大家都懂,最长不上升子序列的长度 学习了几天闫式思考法f[i]表示以a[i]结尾的最长不上升子序列的长度,其实就是倒着跑最长不下降子序列的长度,第一问的答案就是max(ans,f[i]); 第二问,想不到好的贪心方法,就看了y总的提高课:(不会截图凑合看吧)贪心思路很清晰,重点是对 阅读全文
posted @ 2020-12-11 00:27 S-Royal 阅读(75) 评论(0) 推荐(0) 编辑
摘要: 12.1 https://ac.nowcoder.com/acm/contest/9165 其他神仙学校的新生赛(好像分不是很高) A题:我想的是每个字符读进来转成ascll码存一下就好,最后扫一遍几个答案。没想到直接set就可,忘记了stl的容器是永远的痛。 B题:一看好像是个博弈,但是自己手写几 阅读全文
posted @ 2020-12-01 19:40 S-Royal 阅读(39) 评论(0) 推荐(0) 编辑
摘要: 11.11 复建day1 T1 https://www.luogu.com.cn/problem/CF1426C 本来T1不该是这个的,但是前面有个F题,还是字符串,我就直接弃疗了。。。 题意:最少次的操作,使得初始是1的集合最后的和>n,t次询问。 我们可以把n拆分成xy+b的形式,也就是用(x- 阅读全文
posted @ 2020-11-11 19:31 S-Royal 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 直接贴上大神的整理,我太懒了 https://blog.csdn.net/litble/article/details/75913032 阅读全文
posted @ 2020-11-07 20:26 S-Royal 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 一、位运算 & :全是1才为1; l :有一个1就为1; xor :不一样为1; ~:0变1,1变0; 二、位运算基本操作: 1.取出最后几个连续的1:x&(x^(x+1)) 2.取出最后一个1:lowbit(x)->x&(-x);(-x是x的补码加1) 3. 阅读全文
posted @ 2018-07-13 17:32 S-Royal 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 1.线段树是什么? 基于分治思想的二叉树结构,用于区间操作。 2.主要操作(例子是:线段树维护区间最大值) 建树 一点点分着向下拓展,左儿子编号是父节点编号*2,右儿子编号是左儿子编号+1; 单点修改 像建树时的一点点拓展一样,我们需要一直二分找到该点,并且把这个点父节点和祖父节点的所有区间都更新 阅读全文
posted @ 2018-07-03 16:54 S-Royal 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 研究整数有关的理论,研究取膜意义下的运算理论。 1.枚举一个数的所有约数 o(sqrt(n)) 没啥好说的,直接代码。 2.分解质因数 就是从2开始枚举,如果这个没被去掉过,就把他的倍数全都消掉,这样我们每次取的时候都是这个数的质因数;一个数最多有一个>sqrt(n)的质因数,且这个质因数的指数最多 阅读全文
posted @ 2018-07-02 09:33 S-Royal 阅读(153) 评论(0) 推荐(0) 编辑
摘要: exgcd(a,b,x,y) { if(b==0) x=1,y=0; else exgcd(a,a%b,y,x-(a/b)*y; } ax1+by1=c; ax2+by2=c; a(x1-x2)+b(y1-y2)=0; x=x1-x2; y=y1-y2; g=gcd(a,b); a=a0*g; b= 阅读全文
posted @ 2018-07-01 10:20 S-Royal 阅读(67) 评论(0) 推荐(0) 编辑
摘要: vector是什么? vector其实就是一个数组,可以看成一个动态数组。内部实现是用倍增的思想,设n为vector实际长度,m为vector最大长度,当n=m时,vector就会申请2m的空间,并且把n转移到新的空间上,再进行其他操作。 可能现在你就会有疑问了,这样的话好像如果进行删除操作,那么空 阅读全文
posted @ 2018-06-30 08:12 S-Royal 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 1.中国象棋 阅读全文
posted @ 2018-06-05 21:02 S-Royal 阅读(82) 评论(0) 推荐(0) 编辑