Solution

代码:
由乃:

//MADE BY QT666
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#define lson x<<1
#define rson x<<1|1
using namespace std;
typedef long long ll;
const int N=100050;
int n,m,v,f[1050][20],tr[N*4],lazy[N*4],a[N],tot,b[N],flg,sum[N];
bool cmp(int a,int b){return a>b;}
void update(int x,int l,int r,int xl,int xr){if(xl<=l&&r<=xr) {tr[x]++;lazy[x]++;return;}int mid=(l+r)>>1;if(xr<=mid) update(lson,l,mid,xl,xr);else if(xl>mid) update(rson,mid+1,r,xl,xr);else update(lson,l,mid,xl,mid),update(rson,mid+1,r,mid+1,xr);
}
int query(int x,int l,int r,int id,int la){if(l==r) return tr[x]+la;int mid=(l+r)>>1;la+=lazy[x];if(id<=mid) return query(lson,l,mid,id,la);else return query(rson,mid+1,r,id,la);
}
int work(int i){int ret=query(1,1,n,i,0);int x=a[i];for(int j=18;j>=0;j--){if(ret>=(1<<j)) ret-=(1<<j),x=f[x][j];}return x;
}
void dfs(int x,int suma,int sumb,int sa,int sb){if(abs(suma-sumb)>sum[x]+(tot-x+1)) return;if(flg) return;if(suma==sumb&&sa&&sb) {flg=1;return;}if(x>tot) return;dfs(x+1,suma+b[x]+1,sumb,sa+1,sb);dfs(x+1,suma,sumb+b[x]+1,sa,sb+1);dfs(x+1,suma,sumb,sa,sb);
}
int main(){scanf("%d%d%d",&n,&m,&v);for(int i=0;i<=v;i++) f[i][0]=(1ll*i*i*i)%v;for(int j=1;j<=18;j++){for(int i=0;i<=v;i++){f[i][j]=f[f[i][j-1]][j-1];}}for(int i=1;i<=n;i++) scanf("%d",&a[i]);int tmp=0;for(int i=1;i<=m;i++){int type,l,r;scanf("%d%d%d",&type,&l,&r);if(type==2) update(1,1,n,l,r);else {tmp++;if(r-l+1>13) puts("Yuno");else{tot=0;for(int j=l;j<=r;j++) b[++tot]=work(j);sort(b+1,b+1+tot,cmp);sum[tot]=b[tot];sum[tot+1]=0;for(int j=tot-1;j;j--) sum[j]=sum[j+1]+b[j];flg=0;dfs(1,0,0,0,0);if(flg) puts("Yuno");else puts("Yuki");}}}return 0;
}

树:

//MADE BY QT666
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<map>
using namespace std;
typedef long long ll;
const int N=300050;
int head[N],to[N],nxt[N],v[N],cnt,n,s;
ll dep[N],ans;
void lnk(int x,int y){to[++cnt]=y,nxt[cnt]=head[x],head[x]=cnt;to[++cnt]=x,nxt[cnt]=head[y],head[y]=cnt;
}
map<ll,int>Map;
void dfs(int x,int fa){Map[dep[fa]+s]++;ans+=Map[dep[x]];for(int i=head[x];i;i=nxt[i]){int y=to[i];if(y==fa) continue;dep[y]=dep[x]+v[y];dfs(y,x);}Map[dep[fa]+s]--;
}
int main(){scanf("%d%d",&n,&s);for(int i=1;i<=n;i++) scanf("%d",&v[i]);for(int i=1;i<n;i++) {int x,y;scanf("%d%d",&x,&y);lnk(x,y);}dep[1]=v[1];dfs(1,0);printf("%lld\n",ans);return 0;
}

simple:

//MADE BY QT666
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
typedef long long ll;
const int N=500050;
int head[N],to[N],nxt[N],hsh[N],tot,rt[N],cnt,sz,a[N],n,Q;
void lnk(int x,int y){to[++cnt]=y,nxt[cnt]=head[x],head[x]=cnt;to[++cnt]=x,nxt[cnt]=head[y],head[y]=cnt;
}
int size[N],son[N],dfn[N],id[N],tt,top[N],fa[N],deep[N];
int sum[N*8],ls[N*8],rs[N*8];
char s[N];
struct data{int type,i,j,x;
}q[N];
void dfs1(int x,int f){size[x]=1;for(int i=head[x];i;i=nxt[i]){int y=to[i];if(y==f) continue;fa[y]=x;deep[y]=deep[x]+1;dfs1(y,x);size[x]+=size[y];if(size[y]>size[son[x]]) son[x]=y;}
}
void dfs2(int x,int f){dfn[x]=++tt;top[x]=f;id[tt]=x;if(son[x]) dfs2(son[x],f);for(int i=head[x];i;i=nxt[i]){int y=to[i];if(y==fa[x]||y==son[x]) continue;dfs2(y,y);}
}
void update(int &x,int l,int r,int id,int v){if(!x) x=++sz;if(l==r) {sum[x]+=v;return;}int mid=(l+r)>>1;if(id<=mid) update(ls[x],l,mid,id,v);else update(rs[x],mid+1,r,id,v);sum[x]=sum[ls[x]]+sum[rs[x]];
}
int query(int x,int l,int r,int xl,int xr){if(xl<=l&&r<=xr) return sum[x];int mid=(l+r)>>1;if(xr<=mid) return query(ls[x],l,mid,xl,xr);else if(xl>mid) return query(rs[x],mid+1,r,xl,xr);else return query(ls[x],l,mid,xl,mid)+query(rs[x],mid+1,r,mid+1,xr);
}
void Change(int x,int c){update(rt[a[x]],1,n,dfn[x],-1);update(rt[c],1,n,dfn[x],1);a[x]=c;
}
int Query(int x,int y,int c){int ret=0;while(top[x]!=top[y]){if(deep[top[x]]<deep[top[y]]) swap(x,y);ret+=query(rt[c],1,n,dfn[top[x]],dfn[x]);x=fa[top[x]];}if(deep[x]<deep[y]) swap(x,y);ret+=query(rt[c],1,n,dfn[y],dfn[x]);return ret;
}
int main(){scanf("%d%d",&n,&Q);for(int i=1;i<=n;i++) scanf("%d",&a[i]),hsh[++tot]=a[i];for(int i=1;i<n;i++){int x,y;scanf("%d%d",&x,&y);lnk(x,y);}dfs1(1,0);dfs2(1,1);for(int i=1;i<=Q;i++){scanf("%s",s+1);if(s[1]=='Q') scanf("%d%d%d",&q[i].i,&q[i].j,&q[i].x),q[i].type=1,hsh[++tot]=q[i].x;else scanf("%d%d",&q[i].i,&q[i].x),q[i].type=2,hsh[++tot]=q[i].x;}sort(hsh+1,hsh+1+tot);tot=unique(hsh+1,hsh+1+tot)-hsh-1;for(int i=1;i<=n;i++) a[i]=lower_bound(hsh+1,hsh+1+tot,a[i])-hsh,update(rt[a[i]],1,n,dfn[i],1);for(int i=1;i<=Q;i++){q[i].x=lower_bound(hsh+1,hsh+1+tot,q[i].x)-hsh;if(q[i].type==1) printf("%d\n",Query(q[i].i,q[i].j,q[i].x));else Change(q[i].i,q[i].x);}return 0;
}

oi树:

//MADE BY QT666
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
typedef long long ll;
const int N=10050;
int f[N][27][33],g[N][27][33];
int n,k,son[N][27],v[N][27],mod;
char s[N*20];
int main(){scanf("%d%d",&n,&k);for(int i=1;i<=n;i++){for(int j=1;j<=k;j++){scanf("%d%d",&son[i][j-1],&v[i][j-1]);f[i][j-1][0]=son[i][j-1],g[i][j-1][0]=v[i][j-1];}}scanf("%s",s+1);scanf("%d",&mod);for(int j=1;j<=31;j++){for(int K=0;K<k;K++){for(int i=1;i<=n;i++){f[i][K][j]=f[f[i][K][j-1]][K][j-1];g[i][K][j]=(g[i][K][j-1]+g[f[i][K][j-1]][K][j-1])%mod;}}}int len=strlen(s+1),ans=0,x=1,i=1;for(int i=1;i<=len;i++){if(s[i]=='['){int p=0;while(s[++i]>='0'&&s[i]<='9') p=p*10+s[i]-48;int K=s[i]-'A';i++;for(int j=31;j>=0;j--){if(p>=(1ll<<j)&&f[x][K][j]){(ans+=g[x][K][j])%=mod;p-=(1<<j);x=f[x][K][j];}}}else{int K=s[i]-'A';(ans+=g[x][K][0])%=mod;x=f[x][K][0];}}cout<<ans%mod<<endl;return 0;
}

二分图:

//MADE BY QT666
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<vector>
#define lson x<<1
#define rson x<<1|1
using namespace std;
typedef long long ll;
const int N=1000050;
struct data{int u,v;
};
vector<data> p[N];
int dep[N],sz[N],fa[N],a[N],top,n,m,T;
struct date{int x,y,a,sz;
}zhan[N];
void query(int x,int l,int r,int xl,int xr,int u,int v){if(xl<=l&&r<=xr) {p[x].push_back((data){u,v});return;}int mid=(l+r)>>1;if(xr<=mid) query(lson,l,mid,xl,xr,u,v);else if(xl>mid) query(rson,mid+1,r,xl,xr,u,v);else query(lson,l,mid,xl,mid,u,v),query(rson,mid+1,r,mid+1,xr,u,v);
}
int find(int x){if(x==fa[x]) return fa[x];int y=find(fa[x]);dep[x]=dep[fa[x]]^a[x];return y;
}
int merge(int x,int y){int u=find(x),v=find(y);if(u==v) return dep[x]^dep[y]^1;if(sz[u]>sz[v]) swap(u,v);zhan[++top]=(date){u,v,a[u],sz[v]};fa[u]=v;sz[v]+=sz[u];a[u]=dep[x]^dep[y]^1;return 0;
}
void del(int now){while(top>now){fa[zhan[top].x]=zhan[top].x;dep[zhan[top].x]=0;a[zhan[top].x]=zhan[top].a;sz[zhan[top].y]=zhan[top].sz;top--;}
}
void solve(int x,int l,int r){int mid=(l+r)>>1;int now=top;for(int i=0;i<p[x].size();i++){int ret=merge(p[x][i].u,p[x][i].v);if(ret){for(int i=l;i<=r;i++)puts("No");del(now);return;}}if(l==r){puts("Yes");del(now);return;}solve(lson,l,mid);solve(rson,mid+1,r);del(now);
}
int main(){freopen("grape.in","r",stdin);freopen("grape.out","w",stdout);scanf("%d%d%d",&n,&m,&T);for(int i=1;i<=m;i++){int u,v,l,r;scanf("%d%d%d%d",&u,&v,&l,&r);l++;if(l>r) continue;query(1,1,T,l,r,u,v);}for(int i=1;i<=n;i++) fa[i]=i,sz[i]=1;solve(1,1,T);return 0;
}

情报传递:

//MADE BY QT666
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#define lson x<<1
#define rson x<<1|1
using namespace std;
typedef long long ll;
const int N=1000050;
int head[N],to[N],nxt[N],cnt,n,rt,T;
void lnk(int x,int y){to[++cnt]=y,nxt[cnt]=head[x],head[x]=cnt;to[++cnt]=x,nxt[cnt]=head[y],head[y]=cnt;
}
struct data{int type,x,y,tim,id;
}q[N];
bool cmp(const data &a,const data &b){if(a.tim==b.tim) return a.type<b.type;else return a.tim<b.tim;
}
int deep[N],size[N],son[N],dfn[N],tt,id[N],top[N],fa[N];
void dfs1(int x,int f){size[x]=1;for(int i=head[x];i;i=nxt[i]){int y=to[i];if(y==f) continue;deep[y]=deep[x]+1;dfs1(y,x);size[x]+=size[y];if(size[y]>size[son[x]]) son[x]=y;}
}
void dfs2(int x,int f){top[x]=f;dfn[x]=++tt;id[tt]=x;if(son[x]) dfs2(son[x],f);for(int i=head[x];i;i=nxt[i]){int y=to[i];if(y==fa[x]||y==son[x]) continue;dfs2(y,y);}
}
int tr[N*4];
/*void update(int x,int l,int r,int id){if(l==r) {tr[x]=1;return;}int mid=(l+r)>>1;if(id<=mid) update(lson,l,mid,id);else update(rson,mid+1,r,id);tr[x]=tr[lson]+tr[rson];
}
int query(int x,int l,int r,int xl,int xr){if(xl<=l&&r<=xr) return tr[x];int mid=(l+r)>>1;if(xr<=mid) return  query(lson,l,mid,xl,xr);else if(xl>mid) return query(rson,mid+1,r,xl,xr);else return query(lson,l,mid,xl,mid)+query(rson,mid+1,r,mid+1,xr);
}*/
int lowbit(int x){return x&-x;}
void update(int x,int v){for(int i=x;i<=n;i+=lowbit(i)) tr[i]+=v;
}
int query(int x){int ret=0;for(int i=x;i;i-=lowbit(i)) ret+=tr[i];return ret;
}
struct date{int x,y;
}ans[N];
date Lca(int x,int y){int ret1=deep[x]+deep[y],ret2=0;while(top[x]!=top[y]){if(deep[top[x]]<deep[top[y]]) swap(x,y);//ret2+=query(1,1,n,dfn[top[x]],dfn[x]);ret2+=query(dfn[x])-query(dfn[top[x]]-1);x=fa[top[x]];}if(deep[x]<deep[y]) swap(x,y);//ret2+=query(1,1,n,dfn[y],dfn[x]);ret2+=query(dfn[x])-query(dfn[y]-1);return (date){ret1-2*deep[y]+1,ret2};
}
int main(){scanf("%d",&n);for(int i=1;i<=n;i++){int x;scanf("%d",&x);if(!x) rt=i;else lnk(i,x),fa[i]=x;}dfs1(rt,0);dfs2(rt,rt);scanf("%d",&T);int xh=0;for(int i=1;i<=T;i++){int type;scanf("%d",&type);if(type==1){int x,y,z;scanf("%d%d%d",&x,&y,&z);++xh;q[i]=(data){1,x,y,i-z,xh};}else{int x;scanf("%d",&x);q[i]=(data){2,x,0,i,0};}}sort(q+1,q+1+T,cmp);for(int i=1;i<=T;i++){if(q[i].type==2) update(dfn[q[i].x],1);//update(1,1,n,dfn[q[i].x]);else ans[q[i].id]=Lca(q[i].x,q[i].y);}for(int i=1;i<=xh;i++) printf("%d %d\n",ans[i].x,ans[i].y);return 0;
}

消耗战:

// MADE BY QT666
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<iostream>
#include<cstring>
#include<vector>
using namespace std;
typedef long long ll;
const int N=1000050;
int head[N],to[N],nxt[N],w[N],cnt,tt;
int h[N],t[N],nx[N],tmp,n,m,bj[N];
ll dp[N],val[N];
void lnk(int x,int y,int z){to[++cnt]=y,nxt[cnt]=head[x],w[cnt]=z,head[x]=cnt;to[++cnt]=x,nxt[cnt]=head[y],w[cnt]=z,head[y]=cnt;
}
void insert(int x,int y){if(x==y) return;t[++tmp]=y,nx[tmp]=h[x],h[x]=tmp;t[++tmp]=x,nx[tmp]=h[y],h[y]=tmp;
}
int size[N],dfn[N],id[N],son[N],top[N],deep[N],fa[N],a[N],zhan[N];
void dfs1(int x,int f){size[x]=1;for(int i=head[x];i;i=nxt[i]){int y=to[i];if(y==f) continue;val[y]=min(val[x],1ll*w[i]);deep[y]=deep[x]+1;dfs1(y,x);fa[y]=x;size[y]+=size[x];if(size[y]>size[son[x]]) son[x]=y;}
}
void dfs2(int x,int f){dfn[x]=++tt;top[x]=f;id[tt]=x;if(son[x]) dfs2(son[x],f);for(int i=head[x];i;i=nxt[i]){int y=to[i];if(y==fa[x]||y==son[x]) continue;dfs2(y,y);}
}
int Lca(int x,int y){while(top[x]!=top[y]){if(deep[top[x]]<deep[top[y]]) swap(x,y);x=fa[top[x]];}if(deep[x]<deep[y]) swap(x,y);return y;
}
bool cmp(int a,int b){return dfn[a]<dfn[b];}
void Dp(int x,int f){ll res=0;dp[x]=val[x];for(int i=h[x];i;i=nx[i]){int y=t[i];if(y==f) continue;Dp(y,x);res+=dp[y];}h[x]=0;if(!res) dp[x]=val[x];else if(!bj[x]&&res<dp[x]) dp[x]=res;
}
void solve(){int k;scanf("%d",&k);tmp=0;for(int i=1;i<=k;i++){scanf("%d",&a[i]);bj[a[i]]=1;}sort(a+1,a+1+k,cmp);int tp=0;zhan[++tp]=1;for(int i=1;i<=k;i++){if(!tp){zhan[++tp]=a[i];continue;}int p=Lca(zhan[tp],a[i]);while(1){if(deep[zhan[tp-1]]<=deep[p]){insert(zhan[tp],p);tp--;if(zhan[tp]!=p) zhan[++tp]=p;break;}insert(zhan[tp],zhan[tp-1]);tp--;}zhan[++tp]=a[i];}while(tp>1) insert(zhan[tp],zhan[tp-1]),tp--;Dp(1,1);printf("%lld\n",dp[1]);for(int i=1;i<=k;i++) bj[a[i]]=0;
}
int main(){val[1]=1ll<<60;scanf("%d",&n);for(int i=1;i<n;i++){int x,y,z;scanf("%d%d%d",&x,&y,&z);lnk(x,y,z);}dfs1(1,0);dfs2(1,1);scanf("%d",&m);while(m--) solve();return 0;
}

Peaks:

// MADE BY QT666
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<iostream>
#include<cstring>
#define RG register
using namespace std;
typedef long long ll;
const int N=400050;
int n,m,Q,sz,fa[N],rt[N],ls[N*20],rs[N*20],sum[N*20],hsh[N],Fa[N];
int id[N],dfn[N],ed[N],h[N],v[N],size[N],son[N],top[N];
struct data{int a,b,c;
}e[500050];
bool cmp(const data &a,const data &b){return a.c<b.c;}
int head[N],to[N],nxt[N],cnt,tt,tot,res;
inline void lnk(int x,int y){to[++cnt]=y,nxt[cnt]=head[x],head[x]=cnt;
}
inline int find(int x){if(x!=fa[x]) fa[x]=find(fa[x]);return fa[x];
}
inline void dfs1(int x,int f){size[x]=1;for(RG int i=head[x];i;i=nxt[i]){int y=to[i];if(y!=f){Fa[y]=x;dfs1(y,x);size[x]+=size[y];if(size[y]>size[son[x]]) son[x]=y;}}
}
inline void dfs2(int x,int ff){dfn[x]=++tot;id[tot]=x;top[x]=ff;if(son[x]) dfs2(son[x],ff);for(RG int i=head[x];i;i=nxt[i]){int y=to[i];if(y!=Fa[x]&&y!=son[x]) dfs2(y,y);}ed[x]=tot;
}
inline void insert(RG int x,RG int &y,RG int l,RG int r,RG int u){y=++sz;ls[y]=ls[x],rs[y]=rs[x];sum[y]=sum[x]+1;if(l==r) return;RG int mid=(l+r)>>1;if(u<=mid) insert(ls[x],ls[y],l,mid,u);else insert(rs[x],rs[y],mid+1,r,u);
}
inline int query(RG int x,RG int y,RG int l,RG int r,RG int k){if(l==r) return l;RG int mid=(l+r)>>1;if(sum[ls[y]]-sum[ls[x]]>=k) return query(ls[x],ls[y],l,mid,k);else return query(rs[x],rs[y],mid+1,r,k-(sum[ls[y]]-sum[ls[x]]));
}
inline int jump(RG int x,RG int lim){RG int j=x;while(x&&v[top[x]]<=lim){j=top[x],x=Fa[top[x]];}if(v[x]>lim||v[top[x]]<=lim) return j; RG int l=dfn[top[x]],r=dfn[x],ret=0;while(l<=r){RG int mid=(l+r)>>1;if(v[id[mid]]<=lim) r=mid-1,ret=mid;else l=mid+1;}return id[ret];
}
int main(){scanf("%d%d%d",&n,&m,&Q);for(RG int i=1;i<=n;i++) scanf("%d",&h[i]),hsh[++res]=h[i];for(RG int i=1;i<=m;i++) scanf("%d%d%d",&e[i].a,&e[i].b,&e[i].c);sort(e+1,e+1+m,cmp);for(int i=1;i<=n;i++) fa[i]=i;tt=n;for(RG int i=1;i<=m;i++){RG int x=find(e[i].a),y=find(e[i].b);if(y!=x){tt++;v[tt]=e[i].c;fa[x]=fa[y]=tt;fa[tt]=tt;lnk(tt,x);lnk(tt,y);}}for(RG int i=1;i<=tt;i++){RG int g=find(i);if(!dfn[g]) dfs1(g,g),dfs2(g,g);}sort(hsh+1,hsh+res+1);res=unique(hsh+1,hsh+1+res)-hsh-1;for(RG int i=1;i<=tot;i++){rt[i]=rt[i-1];if(id[i]<=n) insert(rt[i],rt[i],1,res,lower_bound(hsh+1,hsh+1+res,h[id[i]])-hsh);}RG int lastans=0;while(Q--){RG int u,x,k;scanf("%d%d%d",&u,&x,&k);u^=lastans,x^=lastans,k^=lastans;RG int Lca=jump(u,x);if(sum[rt[ed[Lca]]]-sum[rt[dfn[Lca]-1]]<k) puts("-1"),lastans=0;else lastans=query(rt[dfn[Lca]-1],rt[ed[Lca]],1,res,(sum[rt[ed[Lca]]]-sum[rt[dfn[Lca]-1]])-k+1),printf("%d\n",hsh[lastans]),lastans=hsh[lastans];}return 0;
}

上帝与集合:

//MADE BY QT666
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
typedef long long ll;
const int N=100050;
ll bj[10000005],T;
bool vis[10000005];
ll qpow(ll x,ll y,ll mod){ll ret=1;while(y){if(y&1) (ret*=x)%=mod;(x*=x)%=mod;y>>=1;}return ret;
}
ll getphi(ll P){ll M=P;ll res=P;for(ll i=2;i*i<=P;i++)if(res%i==0) {(M/=i)*=i-1;while(res%i==0) res/=i;}if(res>1) (M/=res)*=res-1;return M;
}
ll solve(ll p){if(vis[p]) return bj[p];ll phi=getphi(p);vis[p]=1;return bj[p]=qpow(2,solve(phi)+phi,p);
}
int main(){scanf("%lld",&T);bj[1]=0;vis[1]=1;while(T--){ll p;scanf("%lld",&p);printf("%lld\n",solve(p));}return 0;
}

Savage:

//MADE BY QT666
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
typedef long long ll;
const int N=100050;
int P[N],C[N],l[N],n;
int gcd(int x,int y) {return y?gcd(y,x%y):x;}
void exgcd(int a,int b,int &x,int &y){if(!b) x=1,y=0;else exgcd(b,a%b,y,x),y-=(a/b)*x;
}
bool check(int i,int j,int M){int a=P[i]-P[j],b=M,c=C[j]-C[i];int Gcd=gcd(a,b);if(c%Gcd) return 1;int x,y;a/=Gcd;b/=Gcd;c/=Gcd;exgcd(a,b,x,y);b=abs(b);x=((c*x)%b+b)%b;if(!x) x+=b;if(x>min(l[i],l[j])) return 1;return 0;
}
bool judge(int M){for(int i=1;i<=n;i++) if(M<C[i]) return 0;for(int i=1;i<=n;i++){for(int j=i+1;j<=n;j++){if(!check(i,j,M)){return 0;}}}return 1;
}
int main(){freopen("savage.in","r",stdin);freopen("savage.out","w",stdout);scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%d%d%d",&C[i],&P[i],&l[i]);}for(int i=1;i<=1e6;i++){if(judge(i)) {cout<<i<<endl;return 0;}}return 0;
}

转载于:https://www.cnblogs.com/qt666/p/7606767.html

TxDragon的训练5相关推荐

  1. 自己动手实现20G中文预训练语言模型示例

    起初,我和大部分人一样,使用的是像Google这样的大公司提供的Pre-training Language Model.用起来也确实方便,随便接个下游任务,都比自己使用Embedding lookup ...

  2. 显卡不够时,如何训练大型网络

    https://mp.weixin.qq.com/s?__biz=MzIwNzc2NTk0NQ%3D%3D&chksm=970c2143a07ba855562ca86bfa19b78a26fe ...

  3. ELECTRA 超过bert预训练NLP模型

    论文:ELECTRA: Pre-training Text Encoders As Discriminators Rather Then Generators 本文目前在ICLR 2020盲审中,前几 ...

  4. python实现glove,gensim.word2vec模型训练实例

    20210331 https://blog.csdn.net/sinat_26917383/article/details/83029140 glove实例 https://dumps.wikimed ...

  5. 分布式训练使用手册-paddle 数据并行

    分布式训练使用手册¶ 分布式训练基本思想¶ 分布式深度学习训练通常分为两种并行化方法:数据并行,模型并行,参考下图: 在模型并行方式下,模型的层和参数将被分布在多个节点上,模型在一个mini-batc ...

  6. 深度学习的分布式训练--数据并行和模型并行

    <div class="htmledit_views"> 在深度学习这一领域经常涉及到模型的分布式训练(包括一机多GPU的情况).我自己在刚刚接触到一机多卡,或者分布式 ...

  7. 谷歌BERT预训练源码解析(二):模型构建

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/weixin_39470744/arti ...

  8. pytorch 多GPU训练总结(DataParallel的使用)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/weixin_40087578/arti ...

  9. 命名实体识别训练集汇总(一直更新)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/leitouguan8655/artic ...

  10. 谷歌BERT预训练源码解析(三):训练过程

    目录 前言 源码解析 主函数 自定义模型 遮蔽词预测 下一句预测 规范化数据集 前言 本部分介绍BERT训练过程,BERT模型训练过程是在自己的TPU上进行的,这部分我没做过研究所以不做深入探讨.BE ...

最新文章

  1. 基于地图开发控件GMap.Net 使用 (一) 原创
  2. word中安装MathType
  3. 想成为一名优秀的Web前端工程师,这5点你要知道
  4. 腾讯万亿级 Elasticsearch 内存效率提升技术解密
  5. linux java的启动内存溢出,java - Java的R代码可在Linux上运行,但不能在Windows中运行 - 堆栈内存溢出...
  6. discuz mysql 类_discuz7 phpMysql操作类
  7. 信息学奥赛一本通(1211:判断元素是否存在)
  8. 网络基本概念之TCP, UDP, 单播(Unicast), 多播(组播)(Multicast)
  9. Python+tkinter+pillow实现屏幕任意区域截图
  10. c语言上机及答案,C语言上机练习题及答案
  11. dd wipe 命令磁盘清空shell脚本,笔记本台机MAC通用
  12. Linux无线网络实用工具Top 10
  13. Windows电脑上最好的3个txt阅读器
  14. VC2005 运行库解析
  15. AES对称加密原理及服务
  16. 在NS2 AODV协议中添加blackhole attacker(黑洞攻击) [转载]
  17. 宽带DDC matlab,基于DDC和DUC的大带宽DRFM设计与实现
  18. Apollo6.0_ReferenceLine_Smoother解析与子方法对比
  19. WebStrom中一些有趣的工具与常用快捷键
  20. 计算机毕业设计之java+ssm供应链管理信息系统

热门文章

  1. UVALive 4725 Airport(二分)
  2. Oliver运维管理系统之一庐山真面目
  3. 威胁情报工具:更快?更聪明?
  4. 《电路分析导论(原书第12版)》一3.14 压控电阻
  5. SpringSecurity半成品笔记
  6. Linux 下Jetty 部署 项目 JNDI 数据源加载
  7. 面试题(Qt + 函数指针)
  8. php列表排布,php全排列递归算法代码
  9. C#中创建线程的四种方式
  10. 高并发系统的限流算法