#2018. 「HNOI2017」单旋 思路: set+线段树: 代码: #include <bits/stdc++.h> using namespace std; #define maxn 100005 #define maxtree maxn<<2 int val[maxtree],tag[maxtree],L[maxtree],R[maxtree],mid[maxtree]; ],f[maxn],root; set<int>Set; inline void in(…
#2020. 「HNOI2017」礼物 思路: A题进程: 一眼出式子->各种超时过不去->看题解明白还有fft这个东西->百度文库学习fft->学习dft->学习fft->死活写不出代码->比着大佬博客敲代码->ac->不容易啊.. 代码: #include <bits/stdc++.h> using namespace std; #define maxn 500005 #define INF 0x3f3f3f3f ); struct C…
「SCOI2016」幸运数字 思路: 线性基: 代码: #include <bits/stdc++.h> using namespace std; #define maxn 20005 #define ll long long struct DataType { ll d[],p[]; ll cnt; DataType() { memset(d,,sizeof(d)); memset(p,,sizeof(p)); cnt=; } bool insert(long long val) { ;i&…
#2012. 「SCOI2016」背单词 思路: Orz: 代码: #include <bits/stdc++.h> using namespace std; #define maxn 100005 #define maxm 510005 ],tot=,len,head[maxm],E[maxm],V[maxm],cnt=; int val[maxm],cnt2,size[maxm],sta[maxm],top; long long ans,sum; char line[maxm]; inli…
#2007. 「SCOI2015」国旗计划 思路: 跪烂Claris 代码: #include <cstdio> #include <algorithm> #define maxn 800010 ],bi[maxn],f[maxn<<],st[maxn]; ],q[maxn<<],t,ans[maxn],L,x,y,i; inline void in(int&a) { char c; '))); a=c-)+=c-'; } inline int lo…
「SDOI2017」序列计数 思路: 矩阵快速幂: 代码: #include <bits/stdc++.h> using namespace std; #define mod 20170408 #define ll long long struct MatrixType { int n,m; ll ai[][]; void mem(int n_,int m_) { n=n_,m=m_; ;i<=n;i++) ;v<=m;v++) ai[i][v]=; } MatrixType op…
「AHOI / HNOI2017」单旋 题目链接 H 国是一个热爱写代码的国家,那里的人们很小去学校学习写各种各样的数据结构.伸展树(splay)是一种数据结构,因为代码好写,功能多,效率高,掌握这种数据结构成为了 H 国的必修技能.有一天,邪恶的「卡」带着他的邪恶的「常数」来企图毁灭 H 国.「卡」给 H 国的人洗脑说,splay 如果写成单旋的,将会更快.「卡」称「单旋 splay」为「spaly」.虽说他说的很没道理,但还是有 H 国的人相信了,小 H 就是其中之一,spaly 马上成为他…
#2016. 「SCOI2016」美味 思路: 主席树: 代码: #include <bits/stdc++.h> using namespace std; #define maxa 262143 #define maxn 200005 #define maxtree maxa*40 ],val[maxtree],L[maxtree],R[maxtree]; int root[maxn],mid[maxtree],tot; inline void in(int &now) { ; ')…
#2011. 「SCOI2015」情报传递 思路: 可持久化树状数组模板: 代码: #include <bits/stdc++.h> using namespace std; #define maxn 200005 #define maxm maxn*100 int deep[maxn],f[maxn],id[maxn],top[maxn],cnt,soot; int head[maxn],V[maxn],E[maxn],lar[maxn],size[maxn]; ],tot,Tl,Tr,n,…
「SCOI2015」小凸玩矩阵 思路: 二分+最大流: 代码: #include <bits/stdc++.h> using namespace std; #define maxn 300 #define maxque 666666 #define INF 0x3f3f3f3f ],cnt,s,t; ],que[maxque<<]; inline void in(int &now) { ; ')Cget=getchar(); ') { now=now*+Cget-'; Cg…