bzoj
mengbi_er
一个蒟蒻JLoier
展开
-
bzoj3208: 花神的秒题计划Ⅰ
类似dp的记忆化搜索,看代码就似乎很好懂。。。 (其实是我太懒了233)#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int n,f[1005][1005],a[1005][1005],ans;bool k[1005][1005];int mx(int原创 2017-06-15 22:18:55 · 289 阅读 · 0 评论 -
bzoj4034: [HAOI2015]树上操作
链剖模板题,然而本辣鸡选手没写1LL调了好长时间。#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;struct node{ int from; int to; int next;}edge[200005];struct segtr原创 2017-07-12 19:06:07 · 182 阅读 · 0 评论 -
bzoj2818: Gcd
求一遍欧拉函数前缀和,直接就可以O(n)解决。#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;bool check[10000005];int prime[3000005],fai[10000005],tot;long long s[10000005];in原创 2017-07-12 19:08:58 · 238 阅读 · 0 评论 -
bzoj3626: [LNOI2014]LCA
将询问离线,从1到n分别到根进行区间修改,答案为query(r+1)-query(l).#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<vector>using namespace std;vector<int> q[50005];inline int read(){原创 2017-07-12 19:15:09 · 194 阅读 · 0 评论 -
bzoj4397: [Usaco2015 dec]Breed Counting
水题。分类维护前缀和。#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int n,m,a[100002],b[100002][4];int main(){ scanf("%d%d",&n,&m); for(int i=1;i<=n;i++)原创 2017-07-03 21:44:05 · 235 阅读 · 0 评论 -
bzoj1398: Vijos1382寻找主人 Necklace
最小表示法。 记录两个指针i,j,任何时刻不在相同位置。 当前匹配长度为k. 如果s[i+k]=s[j+k] k++; 如果s[i+k]>s[j+k] i+=k-1,k=0; s[i+k]#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;char s[原创 2017-07-03 21:49:17 · 295 阅读 · 0 评论 -
bzoj1345: [Baltic2007]序列问题Sequence
单调栈。#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int n,top,s[1000005],x;long long ans=0;int main(){ scanf("%d",&n); s[0]=2000000000; for原创 2017-07-03 22:12:13 · 186 阅读 · 0 评论 -
bzoj1191: [HNOI2006]超级英雄Hero
裸的二分图匹配,从前往后匹配,匹配不到直接跳出。#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int read(){ char ch=getchar();int f=0; while(ch<'0'||ch>'9') ch=getchar()原创 2017-07-04 22:14:18 · 170 阅读 · 0 评论 -
bzoj1832: [AHOI2008]聚会
满足条件的点一定在两点lca上,枚举三个lca即可。#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int read(){ char ch=getchar();int f=0; while(ch<'0'||ch>'9') ch=get原创 2017-07-04 22:17:36 · 275 阅读 · 0 评论 -
bzoj1441: Min
a1*x1+a2*x2+…+an*xn=s,s的最小值为gcd(a1,a2,…,an).#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>using namespace std;int main(){ int n; cin>>n; int an原创 2017-06-13 21:40:30 · 299 阅读 · 0 评论 -
bzoj1119: [POI2009]SLO
这题跟bzoj1697一样的啊,可以水双倍经验啦。#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;long long b[1000005],ans,c[1000005],w[1000005];bool vis[1000005];struct data{原创 2017-06-15 22:12:41 · 278 阅读 · 0 评论 -
1697: [Usaco2007 Feb]Cow Sorting牛排序
这道题置换群裸题,对于一个置换群,交换所需代价为sum+min((tot-2)群里最小值,(tot+1)群里最小值+最小数);#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;long long b[1000005],ans,c[1000005],w[10000原创 2017-06-15 22:08:53 · 391 阅读 · 0 评论 -
bzoj2295: 【POJ Challenge】我爱你啊
bzoj竟然有这么水的题,当然要把它秒掉。includeincludeincludeincludeusing namespace std; char c,t[]=”luvletter”; int main() { int n; cin>>n; while(c==getchar()) { if(c==’\n’) brea原创 2017-06-12 13:23:58 · 445 阅读 · 0 评论 -
bzoj4846: [neerc2016]Hard Refactoring
这题是2017北大营的一道题,其实简单模拟即可,但是细节比较多,还是挺可做的#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int a[70005];bool sig=0;char ch;long long read(){ ch=getchar(原创 2017-06-12 13:46:16 · 453 阅读 · 0 评论 -
bzoj1689: [Usaco2005 Open] Muddy roads 泥泞的路
把水坑按初始位置排序·,然后简单模拟,具体方式看代码。#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;struct water{ int from; int to;}a[100005];int cmp(water x,water y){原创 2017-06-12 20:50:24 · 377 阅读 · 0 评论 -
bzoj3403: [Usaco2009 Open]Cow Line 直线上的牛
这也是一道模拟题。#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int a[300003];int head=150000,tail=149999,now=0;int main(){ int n,x;char s,t; cin>>n;原创 2017-06-12 20:51:57 · 358 阅读 · 0 评论 -
bzoj2834: 回家的路
对于同一行和同一列的相邻的点分别建边。对行和列分层。建长度为1的边,之后SPFA即可。具体细节看代码。#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<queue>using namespace std;queue<int> q;struct point{ int x;原创 2017-06-12 21:03:42 · 449 阅读 · 2 评论 -
bzoj3850: ZCC Loves Codefires
贪心,按Ei/Ki从小到大排序#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;struct ti{ double tim; double lose; double value;}a[1000005];int cmp(ti x,ti原创 2017-06-13 21:30:49 · 281 阅读 · 0 评论 -
bzoj1857: [Scoi2010]传送带
显然时间函数有单调性,自然会想到三分。(貌似大家都知道这是三分模板题。。。)#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>using namespace std;const double eps=1e-4;int ax,ay,bx,by,cx,cy,dx,dy,p原创 2017-06-13 21:45:39 · 336 阅读 · 0 评论 -
bzoj1754: [Usaco2005 qua]Bull Math
高精度乘法模板。。。#include<iostream>#include<cstdio>#include<cmath>#include<algorithm>#include<cstring>using namespace std;int main(void){ string m,n; cin>>m>>n; int p,q; p=m.size();原创 2017-06-18 16:54:05 · 295 阅读 · 0 评论 -
bzoj1968: [Ahoi2005]COMMON 约数研究
计算每个数对答案的贡献。#include<iostream>using namespace std;int main(){ int n; cin>>n; int ans=0; for(int i=1;i<=n;i++) { ans+=n/i; } cout<<ans;}原创 2017-06-26 14:42:58 · 211 阅读 · 0 评论 -
bzoj4029: [HEOI2015]定价
尽量让末尾多0。判断能不能是5. 附黄学长代码(其实是我写挂不想改QAQ)。#include<set>#include<map>#include<ctime>#include<queue>#include<cmath>#include<cstdio>#include<vector>#include<cstring>#include<cstdlib>#include<iostrea转载 2017-06-26 14:47:57 · 357 阅读 · 0 评论 -
bzoj2662: [BeiJing wc2012]冻结
分层图最短路,每层正常建图,相邻两层间建w/2的边。#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<queue>using namespace std;queue<int> q;struct node{ int from; int to; int w;原创 2017-07-05 19:10:04 · 321 阅读 · 0 评论 -
bzoj3408: [Usaco2009 Oct]Heat Wave 热浪
裸最短路。#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<queue>#include<vector>using namespace std;int n,m,tot,head[2505],s,t,dis[2505];struct cmp{ bool operator原创 2017-07-05 19:18:54 · 352 阅读 · 0 评论 -
bzoj1636: [Usaco2007 Jan]Balanced Lineup
线段树维护区间最大最小值。#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int mi(int x,int y){ return x<y?x:y;}int ma(int x,int y){ return x>y?x:y;}int n原创 2017-07-05 19:19:57 · 235 阅读 · 0 评论 -
bzoj2717: [Violet 4]迷路的兔子
构造,太玄学了。#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int main(){ int n; cin>>n; printf("%d\n",n*(n-1)/2); for(int i=1;i<=(n>>1);i++)原创 2017-07-05 19:21:50 · 450 阅读 · 0 评论 -
bzoj1599: [Usaco2008 Oct]笨重的石子
枚举,入门题。#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int f[105],maxx,ans;int main(){ int a,b,c; scanf("%d%d%d",&a,&b,&c); int n=a+b+c;原创 2017-07-05 19:22:55 · 256 阅读 · 0 评论 -
bzoj3016: [Usaco2012 Nov]Clumsy Cows
右括号匹配不到答案加一,左括号多2个答案加一。#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int main(){ int n,now=0,ans=0;char s[100005]; scanf("%s",s+1); n=strle原创 2017-07-05 19:24:31 · 261 阅读 · 0 评论 -
bzoj2190: [SDOI2008]仪仗队
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int tot,prime[20005],fai[40005];bool check[40005];int main(){ int n; scanf("%d",&n); unsigne原创 2017-07-14 20:33:03 · 237 阅读 · 0 评论 -
bzoj1677:[Usaco2005 Jan]Sumsets 求和
简单的dp。#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int f[1000005],mod=1000000000;int main(){ int n,i,j; scanf("%d",&n); f[1]=1; for(i原创 2017-07-06 18:55:54 · 271 阅读 · 0 评论 -
bzoj3412: [Usaco2009 Dec]Music Notes乐谱
前缀和+二分。有很多做法#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int a[50005];int find(int x,int l,int r){ int mid=l+r>>1; if(l==r) { ret原创 2017-07-06 18:57:13 · 445 阅读 · 0 评论 -
bzoj2431: [HAOI2009]逆序对数列
一个题的弱化版,数据范围100000也是可做的。。#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int f[2][100005],mod=10000;int main(){ int n,k; cin>>n>>k; for(int原创 2017-07-06 18:58:34 · 246 阅读 · 0 评论 -
bzoj1355: [Baltic2009]Radio Transmission
kmp题。#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int n,nxt[1000005];char s[1000005];int main(){ scanf("%d",&n); scanf("%s",s+1); nxt[0]原创 2017-07-06 18:59:58 · 250 阅读 · 0 评论 -
bzoj3546: [ONTAK2010]Life of the Party
传送门#include <bits/stdc++.h>using namespace std;#define mpr make_pairconst int N = 20050;const int M = 100050;const int oo = 0x3fffffff;inline int in(int x=0,char s=getchar()) { while(s>'9'||s<'0')s=原创 2017-07-05 19:43:52 · 323 阅读 · 0 评论 -
bzoj1648: [Usaco2006 Dec]Cow Picnic 奶牛野餐
对每头牛能到的点做bfs,对每个点检查是否所有牛都能到达。#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<queue>using namespace std;queue<int> q;int k,n,m,head[1005],tot,a[105];bool vis[105][原创 2017-07-06 19:42:25 · 329 阅读 · 0 评论 -
bzoj3384&&1750: [Usaco2004 Nov]Apple Catching 接苹果
比较水的dp。#include<iostream>#include<cstdio>#include<cstring>using namespace std;int maxx(int x,int y){ return x>y?x:y;}int f[1005][35][2],a[1005],ans;int main(){ int t,w; scanf("%d%d原创 2017-07-04 22:12:18 · 279 阅读 · 0 评论 -
bzoj3444: 最后的晚餐
有两种情况输出0:成环和一个点度数为3以上,对于一条链可以翻转,所以答案2^链数*连通块个数阶乘。 写的太丑了QAQ.#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int read(){ char ch=getchar();int f=0;原创 2017-07-16 14:34:27 · 276 阅读 · 0 评论 -
bzoj1218: [HNOI2003]激光炸弹
前缀和sb题,这也是省选题???#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int a[5005][5005],n,maxx,r;int main(){ scanf("%d%d",&n,&r); int x,y,z; for(i原创 2017-07-08 20:30:39 · 240 阅读 · 0 评论 -
bzoj2748: [HAOI2012]音量调节
dp,因为数据范围小,可以不优化。#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int read(){ char ch=getchar();int f=0; while(ch<'0'||ch>'9') ch=getchar(); w原创 2017-07-08 21:07:33 · 182 阅读 · 0 评论 -
bzoj3750: [POI2015]Pieczęć
暴力出奇迹。#include<cstdio>#include<iostream>#include<cstring>#include<algorithm>using namespace std;bool k[1005][1005];int cx[1000005],cy[1000005],n,m,a,b;int main(){ int t; cin>>t; whi原创 2017-06-26 14:50:21 · 247 阅读 · 0 评论