自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2021.08.24【NOIP提高A、B组】模拟 Party

思路:正反边跑spfacodecodecode#include<iostream>#include<cstring>#include<cstdio>#include<queue>using namespace std;int n, m, t;int dis[10010], dis1[10010];int head[10010], tot, head1[10010], tot1;bool v[10010];struct node..

2021-08-24 16:42:10 6

原创 2021.08.24【NOIP提高A、B组】模拟 Mobile Service

思路:设f[i][x][y]表示前i-1个完成,有两个位置在x和y上转移就是从上一个位置转移过来codecodecode#include<iostream>#include<cstring>#include<cstdio>using namespace std;int n, l;int a[10010], h[1010][1010];int f[3][1010][1010];int main(){ scanf("%d%d", &amp..

2021-08-24 16:40:10 7

原创 2021.08.24【NOIP提高A、B组】模拟 Window

思路:单调队列板题codecodecode#include<iostream>#include<cstdio>using namespace std;int n, k;int a[1010000], q[1010000], tail, head;int main(){ scanf("%d%d", &n, &k); for(int i=1; i<=n; i++) scanf("%d", &a[i]); head=1,..

2021-08-24 16:37:34 7

原创 2021.08.24【NOIP提高A、B组】模拟 YL杯超级篮球赛

思路:了解加权平均数codecodecode#include<iostream>#include<cstdio>#include<algorithm>#include<cmath>using namespace std;int n;struct node{ int w, x, y;}a[100100];bool cmp(node x, node y){ return x.x<y.x;}bool cmp2(n..

2021-08-24 16:35:38 4

原创 【Luogu_P2943】Cleaning Up G

思路:用一个类似于桶的数组来优化N^2DP,每次只需要处理出种类数为j离当前最长的距离就行了codecodecode#include<iostream> #include<cstdio>#include<cstring>#include<cmath>using namespace std;int n, m;int a[100100], next[1000100], last[1000100], pre[1001000], pos[1..

2021-08-23 22:22:00 16

原创 【Luogu_P2945】Sand Castle S

思路:直接贪心排序codecodecode#include<iostream>#include<cstdio>#include<algorithm>using namespace std;int n, x, y;int a[100010], b[100100];int main(){ freopen("sandcas.in", "r", stdin); freopen("sandcas.out", "w", stdout); scan..

2021-08-23 22:18:58 7

原创 2021.08.20【NOIP提高A、B组】模拟 Tree

思路:枚举平均数,直接计算codecodecode#include<iostream>#include<algorithm>#include<cstdio>#include<cmath>using namespace std;int n, m, fa[1010];struct node{ int x, y; double w, fang;}b[400100];double maxn, a[10100], ans=10000..

2021-08-20 19:45:46 3

原创 2021.08.20【NOIP提高A、B组】模拟 答题卡

思路:直接暴力codecodecode#include<iostream>#include<algorithm>#include<cstdio>using namespace std;int n, m, f[110][4], z[110][2];struct node{ string name; int id, rank, grade; }s[110];bool check(string s1, string s2){ int i..

2021-08-20 19:43:49 10

原创 【Luogu_P7410】Just Green Enough S

思路:用有一百的所有矩阵-没100的所有矩阵,在做之前预处理出每个位置往下大于100的个数codecodecode#include<iostream>#include<cstdio>using namespace std;long long n;long long a[600][600], val[600][600], b[600][600];long long x[1000000], y[1000000], tot, ans1, ans2;void g..

2021-08-20 15:05:47 11

原创 【Luogu_P7412】Year of the Cow S

思路:直接贪心从后往前跳,记得k-1codecodecode#include<iostream>#include<cstdio>#include<algorithm>using namespace std;long long n, k;long long a[101000], b[100010];int main(){ scanf("%lld%lld", &n, &k); for(long long i=1; i<..

2021-08-20 15:03:20 10

原创 【Luogu_P7411】Comfortable Cows S

思路:直接暴力加入判断codecodecode#include<iostream>#include<cstdio>using namespace std;int n;int ans;int a[3000][3000];int dx[5]={0, 1, 0, -1, 0};int dy[5]={0, 0, -1, 0, 1};void dfs(int x, int y){ if(!a[x][y]) return; int flag=0, tx..

2021-08-20 15:01:20 17

原创 【Luogu_P7296】【USACO21JAN】 Uddered but not Herd G

思路:状压DP,把字符缩成01串,如果需要重唱就贡献加1codecodecode#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>using namespace std;char s[100100];int a[101010], b[101010], c[200][200];int n, f[1<<21];int main()..

2021-08-18 15:08:43 18

原创 【YBTOJ】节点覆盖

思路:0代表选父亲,1代表选儿子,2代表选自己,直接树形DPcodecodecode#include<iostream>#include<cstdio>using namespace std;int n, tot, head[101000], a[101000], f[101000][3];struct node{ int to, next;}b[1010100];void add(int x, int y){ b[++tot]=(node){y..

2021-08-18 15:02:53 13

原创 【Luogu_P5787 】二分图 /【模板】线段树分治

思路:是一道模板题codecodecode#include<iostream>#include<cstdio>#include<queue>using namespace std;int n, m, ex[1001000], ey[1001000], top, fa[1001000], height[1001000];vector<int> t[1001000];struct node{ int x, y, add;}st[1..

2021-08-18 10:49:10 8

原创 Luogu_【P7297】P7297 【USACO】 Telephone G

思路:暴力建图会炸,然后就建一个分层图跑spfacodecodecode#include<iostream>#include<cmath>#include<cstdio>#include<cstring>#include<queue>using namespace std;int n, k, tot;int a[101010];bool b[100][100];int dis[25010000], head[250..

2021-08-17 16:43:13 8

原创 2021.08.16【NOIP提高B组】模拟 【USACO 2021 February Contest, Gold】Problem 1 Stone Game

思路:如果数都出现了偶数次一定是后手必胜,所以就前缀和处理处个数,然后判断codecodecode#include<iostream>#include<cstdio>using namespace std;long long n, a[1000010], maxn, cnt[1010000], sum[1001000];long long b[1001000], ans;int main(){ scanf("%lld", &n); for(l..

2021-08-17 07:45:15 84

原创 2021.08.16【NOIP提高B组】模拟 USACO 2021 February Contest, Gold】Problem 2 Modern Art 3

思路:区间DP,a[l]=a[r]时求l~r就是l+1到r或l到r-1codecodecode#include<iostream>#include<cstdio>#include<cstring> using namespace std;int f[1010][1010];int a[1010], n;int main(){ scanf("%d", &n); for(int i=1; i<=n; i++) scanf(..

2021-08-16 20:44:31 4

原创 2021.08.16【NOIP提高B组】模拟 【USACO 2021 February Contest, Platinum】Problem 1 No Time to Dry

思路:用一个栈维护,然后取出相等的配对,用树状数组求答案就行codecodecode#include<iostream>#include<cstdio>#include<cmath>#include<queue>using namespace std;int n, m, top;int a[1010000], st[1010100], c[1010100], ans[1010000];vector<pair<int,..

2021-08-16 20:41:41 8

原创 2021.08.14【NOIP提高B组】模拟 【USACO 2021 US Open, Gold】United Cows of Farmer John

思路:维护一个数上一次出现的位置,用树状数组,然后每次累加答案codecodecode#include<iostream>#include<cstdio>using namespace std;long long n, a[1010000], c[1001000], f[1001000];long long lowbit(long long x){ return x&(-x);}long long ask(long long x){ l..

2021-08-15 21:03:44 10

原创 2021.08.14【NOIP提高B组】模拟 【USACO 2021 US Open, Silver】Acowdemia

思路:用二分枚举答案,然后贪心判断就行codecodecode#include<iostream>#include<algorithm> #include<cstdio>using namespace std;long long n, k, l;long long a[10100100];bool check(long long x){ long long sum=0, sy=k, c=k*l; for(long long i=n; i..

2021-08-15 21:00:55 28

原创 2021.08.14【NOIP提高B组】模拟 【USACO 2021 US Open, Silver】Do You Know Your ABCs?

思路:直接暴力枚举每个位置对应的数,然后把a,b,c判断出来,然后check就可以了codecodecode#include<iostream>#include<cstdio>#include<algorithm>#include<map>#include<cstring>using namespace std;int t, ans;int n, b[10], c[10], a[10];map<pair<..

2021-08-15 20:58:00 36

原创 2021.08.13【NOIP提高A、B组】模拟 Word

思路:直接暴力枚举子串,然后dfs更改codecodecode#include<iostream>#include<cstdio>using namespace std;int l, d, n, a[100];char s[35][100];char b[100];bool flag;void dfs(int x, int y){ flag=0; for(int i=1; i<=n; i++) { int minn=l+1; fo..

2021-08-13 16:52:13 6

原创 2021.08.13【NOIP提高A、B组】模拟 Crisis

思路:直接暴力判断,用一个堆维护codecodecode#include<iostream>#include<cstdio>#include<queue>using namespace std;int n, t, tot;int a[100010], head[100010], siz[100010];struct node{ int to, next;}b[100010];inline void add(register int x..

2021-08-13 15:03:43 5

原创 2021.08.13【NOIP提高A、B组】模拟 Brothers

思路:暴力codecodecode#include<iostream>#include<cstdio>using namespace std;int n, r, c, k;int a[110][110], b[110][110];int main(){ scanf("%d%d%d%d", &n, &r, &c, &k); for(int i=1; i<=r; i++) for(int j=1; j<=c..

2021-08-13 15:02:39 6

原创 2021.08.12【NOIP提高B组】模拟 矩阵

思路:先加入所有矩阵,然后每次扩散codecodecode#include<iostream>#include<cstdio>#include<algorithm>#include<queue>#include<map>#define num(i, j) (i-1)*m+jusing namespace std;int n, m, ma, mb, k, a[1100][1100];long long sum[1100..

2021-08-13 11:06:54 9

原创 2021.08.12【NOIP提高B组】模拟 树上摩托

思路:首先得出结论,只有枚举出的大小能整除树的大小才可以分,然后直接筛出约束做,注意dfs爆栈codecodecode#include<iostream>#include<cstdio>#include<queue>using namespace std;int n, ans, tot, head[1010110], v[1010101];int siz[1010100], a[1010101], ru[1010101];struct node..

2021-08-12 16:57:38 12

原创 2021.08.12【NOIP提高B组】模拟 幻象

思路:直接期望DP,先把到i的期望长度算出,然后dp时去掉一位算答案codecodecode#include<iostream>#include<cstdio>using namespace std;int n;double a[1010010], f[1010100], k[1010100];double ans;int main(){ scanf("%d", &n); for(int i=1; i<=n; i++) scanf..

2021-08-12 16:54:42 10

原创 【YBTOJ】单词查询

思路:直接模板codecodecode#include<iostream>#include<cstdio>#include<cstring>#include<queue> using namespace std;int t;int n;string s;int trie[100100][27], nxt[100100], tot, bo[100100];void add(string s){ int p=0; for(..

2021-08-11 22:17:31 6

原创 2021.08.11【NOIP提高A、B组】模拟 公路修建问题

思路:直接贪心codecodecode#include<iostream>#include<cstdio>using namespace std;int n, m, k;int a[100100], b[100100], c1[100100], c2[100100];int fa[100100];int find(int x){ if(fa[x]==x) return x; return fa[x]=find(fa[x]);}bool c..

2021-08-11 15:44:21 10

原创 2021.08.11【NOIP提高A、B组】模拟 积木

思路:直接状压乱写,设一堆状态codecodecode#include<iostream>#include<cstdio>using namespace std;int n;int a[18], b[18], c[18];int f[32800][16][3][2];int ans=0;//0->a*b//1->a*c//2->b*c//0->横放//1->直放 int main(){ scanf("%d..

2021-08-11 15:43:01 10

原创 2021.08.09【NOIP提高B组】模拟 QYQ在艾泽拉斯

思路;直接缩点然后贪心走,注意细节codecodecode#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<queue>using namespace std;long long n, m, tot, cnt, tmp, tot1, k, tot2;long long stack[1001000], top, r..

2021-08-10 20:41:46 13

原创 2021.08.10【NOIP提高B组】模拟 数字

思路:首先DP处i位和为j,然后容斥原理求解codecodecode#include<iostream>#include<cstdio>using namespace std;long long n;string s;long long a[1100100];long long f[1010][9010];int main(){ scanf("%lld", &n); cin>>s; for(long long i=0; i&..

2021-08-10 19:32:41 9

原创 2021.08.10【NOIP提高B组】模拟 比赛

思路:维护两个前缀和,然后直接求codecodecode#include<iostream>#include<cstdio>#include<algorithm>using namespace std;long long n;long long a[100100], b[100100], sumb[100100], sumb_[100100];int main(){// freopen("D:\\菜鸡咕\\mat6.in", "r", s..

2021-08-10 19:31:14 10

原创 2021.08.10【NOIP提高B组】模拟 祖孙询问

思路:LCA板题codecodecode#include<iostream>#include<cstdio>#include<algorithm>using namespace std;int n, tot, m;int f[100100][25], head[100100], dep[100100];struct node{ int to, next;}b[1000100];void add(int x, int y){ b[+..

2021-08-10 19:30:05 6

原创 2021.08.09【NOIP提高B组】模拟 单峰

思路:组合数codecodecode#include<iostream>#include<cstdio>using namespace std;long long n;long long mod=1e9+7;long long qp(long long x){ long long ans=1, a=2; while(x!=0) { if(x&1) ans=ans*a%mod; a=a*a%mod; x>>=1;..

2021-08-10 19:28:46 6

原创 2021.08.09【NOIP提高B组】模拟 着色

思路:这道题手动推一推,最后要把2和3的分开来算codecodecode#include<iostream>#include<cstdio>#include<cmath>using namespace std;long long n, k;long long xuan(long long n, long long m){ if(n<m) return 0; long long sum=1; for(long long i=n-..

2021-08-10 07:28:31 23

原创 2021.08.09【NOIP提高B组】模拟 平均数

思路:首先二分答案,然后将每个数都减去这个平均值,然后做一遍前缀和,这时维护一个min,使它长度合法,然后一减判断是否大于0codecodecode#include<iostream>#include<cstdio>using namespace std;int n, k;double b[1001000], a[1010000], ans;bool check(double m){ for(int i=1; i<=n; i++) b[i]=..

2021-08-10 07:27:11 12

原创 2021.08.09【NOIP提高B组】模拟 最长公共回文子序列

思路:首先在b串里选,使它直接构成一个回文串,然后在A串里二分查找位置就行codecodecode#include<iostream> #include<cstdio>using namespace std;string s, ss;int ans, tot, n, m;int f[27][100000];void dfs(int l, int r, int sl, int sr, int len){ // cout<<l<<..

2021-08-10 07:25:07 24

原创 【YBTOJ】树上求和

思路:一道基础题codecodecode#include<iostream>#include<cstdio>using namespace std;int n;int f[100100][2];int a[100100], head[10010], tot;struct node{ int to, next;}b[1001000];void add(int x, int y){ b[++tot]=(node){y, head[x]}; he..

2021-08-08 10:35:47 13

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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