「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…
#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(…
「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…
题意 题目链接 Sol 质数的限制并没有什么卵用,直接容斥一下:答案 = 忽略质数总的方案 - 没有质数的方案 那么直接dp,设\(f[i][j]\)表示到第i个位置,当前和为j的方案数 \(f[i + 1][(j + k) \% p] += f[i][j]\) 矩乘优化一下. #include<bits/stdc++.h> #define LL long long using namespace std; const int MAXN = 2e7 + 10, mod = 20170408,…
水题 #include <iostream> #include <cstring> #include <cstdio> using namespace std; typedef long long ll; int n, m, p, cnt[105], pri[2000005], ppp, ans=0; const int mod=20170408; bool isp[20000005]; struct Matrix{ int num[105][105]; Matrix…
#2020. 「HNOI2017」礼物 思路: A题进程: 一眼出式子->各种超时过不去->看题解明白还有fft这个东西->百度文库学习fft->学习dft->学习fft->死活写不出代码->比着大佬博客敲代码->ac->不容易啊.. 代码: #include <bits/stdc++.h> using namespace std; #define maxn 500005 #define INF 0x3f3f3f3f ); struct C…
#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,…