noip2016代码
----------------------------------------------------------------------------------
以下均为AC代码
-----------------------------------------------------------------------------------
Day1 T1
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
inline int read(){
register int x=;bool f=;
register char ch=getchar();
while(ch<''||ch>''){if(ch=='-')f=;ch=getchar();}
while(ch>=''&&ch<=''){x=(x<<)+(x<<)+ch-'';ch=getchar();}
return f?x:-x;
}
const int N=1e5+;
struct node{
int f;
char s[];
node(){
f=;
memset(s,,sizeof s);
}
}e[N<<];
int n,m;
int main(){
n=read();m=read();
for(int i=;i<=n;i++){
e[i].f=read();
scanf("%s",&e[i].s);
}
int zj=;
for(int i=,opt,p;i<=m;i++){
opt=read();p=read();p%=n;
if(!e[zj].f){
if(opt){
if(zj+p<=n) zj+=p;
else zj=zj+p-n;
}
else{
if(zj<=p) zj=n-p+zj;
else zj-=p;
}
}
else{
if(!opt){
if(zj+p<=n) zj+=p;
else zj=zj+p-n;
}
else{
if(zj<=p) zj=n-p+zj;
else zj-=p;
}
}
}
printf("%s",e[zj].s);
return ;
}
Day1 T2
/*
题解:by shenben
如果观察点x可以观察到u->v路径上的点:
1、u->fa:t[x]+de[x]=de[u]
2、fa->v: t[x]-de[x]=dis[u,v]-de[v]
对于每条路径:用差分去维护每个点的信息
对于答案统计:可以做dfs序,然后用主席树解决“区间有多少个某数”的问题
*/
#include<cstdio>
#include<cstring>
#include<iostream>
#define me(a) memset(a,0,sizeof a)
using namespace std;
inline int read(){
register int x=;bool f=;
register char ch=getchar();
while(ch<''||ch>''){if(ch=='-')f=;ch=getchar();}
while(ch>=''&&ch<=''){x=(x<<)+(x<<)+ch-'';ch=getchar();}
return f?x:-x;
}
const int N=3e5+;
const int M=N*;
int le[N],ri[N],dep[N],f[N][],ans[N],t[N],tt[N],st[N],en[N],lca[N];
int sum[M],ls[M],rs[M],root[N*];
struct node{
int v,next;
}e[N<<];
int n,m,now,num,tot,cnt,head[N];
void add(int x,int y){
e[++tot].v=y;e[tot].next=head[x];head[x]=tot;
}
void dfs(int x,int fa){
le[x]=++cnt;
for(int i=head[x],v;i;i=e[i].next){
if((v=e[i].v)!=fa){
dep[v]=dep[x]+;
f[v][]=x;
dfs(v,x);
}
}
ri[x]=cnt;
}
int calc_lca(int a,int b){
if(dep[a]<dep[b]) swap(a,b);
int t=dep[a]-dep[b];
for(int i=;i<=;i++){
if(<<i&t){
a=f[a][i];
}
}
if(a==b) return a;
for(int i=;i>=;i--){
if(f[a][i]!=f[b][i]){
a=f[a][i];
b=f[b][i];
}
}
return f[a][];
}
void change(int &rt,int l,int r,int pos,int val){
if(!pos) return ;
if(!rt) rt=++num;
sum[rt]+=val;
if(l==r) return ;
int mid=l+r>>;
if(pos<=mid) change(ls[rt],l,mid,pos,val);
else change(rs[rt],mid+,r,pos,val);
}
int query(int rt,int l,int r,int x,int y){
if(!rt) return ;
if(l==x&&r==y) return sum[rt];
int mid=l+r>>;
if(y<=mid) return query(ls[rt],l,mid,x,y);
else if(x>mid) return query(rs[rt],mid+,r,x,y);
else return query(ls[rt],l,mid,x,mid)+query(rs[rt],mid+,r,mid+,y);
}
void Cl(){
num=;me(ls);me(rs);me(sum);me(root);
}
int main(){
n=read();m=read();
for(int i=,x,y;i<n;i++){
x=read();y=read();
add(x,y);add(y,x);
}
dep[]=;
dfs(,);
for(int j=;j<=;j++){
for(int i=;i<=n;i++){
f[i][j]=f[f[i][j-]][j-];
}
}
for(int i=;i<=n;i++) t[i]=read();
for(int i=;i<=m;i++) st[i]=read(),en[i]=read(),lca[i]=calc_lca(st[i],en[i]);
for(int i=;i<=n;i++) tt[i]=t[i]+dep[i];
for(int i=;i<=m;i++){
now=dep[st[i]];
change(root[now],,n,le[st[i]],);
change(root[now],,n,le[f[lca[i]][]],-);
}
for(int i=;i<=n;i++) ans[i]+=query(root[tt[i]],,n,le[i],ri[i]);
Cl();
for(int i=;i<=n;i++) tt[i]=t[i]-dep[i]+n+;
for(int i=;i<=m;i++){
now=dep[st[i]]-(dep[lca[i]]<<)+n+;
change(root[now],,n,le[en[i]],);
change(root[now],,n,le[lca[i]],-);
}
for(int i=;i<=n;i++) ans[i]+=query(root[tt[i]],,n,le[i],ri[i]);
for(int i=;i<=n;i++) printf("%d ",ans[i]);
return ;
}
Day1 T3
#include<cstdio>
#include<cstring>
#include<iostream>
#define DB double
#define inf 0x3f3f3f3f
using namespace std;
inline int read(){
register int x=;bool f=;
register char ch=getchar();
while(ch<''||ch>''){if(ch=='-')f=;ch=getchar();}
while(ch>=''&&ch<=''){x=(x<<)+(x<<)+ch-'';ch=getchar();}
return f?x:-x;
}
const int N=;
const int M=;
int n,m,V,E,f[N][N];
int c[M],d[M];
DB K[M],dp[][M][];
void init(){
memset(f,inf,sizeof f);
n=read();m=read();V=read();E=read();
for(int i=;i<=n;i++) c[i]=read();
for(int i=;i<=n;i++) d[i]=read();
for(int i=;i<=n;i++) scanf("%lf",&K[i]);
for(int i=,x,y,z;i<=E;i++){
x=read();y=read();z=read();
f[x][y]=min(f[x][y],z);
f[y][x]=min(f[y][x],z);
}
}
void floyed(){
for(int i=;i<=V;i++) f[i][i]=;
for(int k=;k<=V;k++){
for(int i=;i<=V;i++){
for(int j=;j<=V;j++){
if(i!=j&&i!=k&&j!=k){
f[i][j]=min(f[i][j],f[i][k]+f[k][j]);
}
}
}
}
}
void work(){
//memset(dp,0x7fffffff,sizeof dp);对double类型慎用
for(int i=;i<=;i++){
for(int j=;j<=m;j++){
dp[i][j][]=dp[i][j][]=inf;
}
}
int now=;
dp[][][]=;dp[][][]=;
for(int i=;i<=n;i++){
now^=;
dp[now][][]=dp[now^][][]+f[c[i-]][c[i]];
for(int j=;j<=min(i,m);j++){
dp[now][j][]=min(dp[now^][j][]+f[c[i-]][c[i]],dp[now^][j][]+K[i-]*f[d[i-]][c[i]]+(-K[i-])*f[c[i-]][c[i]]);
dp[now][j][]=min(dp[now^][j-][]+K[i]*f[c[i-]][d[i]]+(-K[i])*f[c[i-]][c[i]],dp[now^][j-][]+K[i-]*K[i]*f[d[i-]][d[i]]+(-K[i-])*K[i]*f[c[i-]][d[i]]+K[i-]*(-K[i])*f[d[i-]][c[i]]+(-K[i-])*(-K[i])*f[c[i-]][c[i]]);
}
}
DB ans=inf;
for(int i=;i<=m;i++) ans=min(ans,min(dp[now][i][],dp[now][i][]));
printf("%.2lf",ans);
}
int main(){
init();
floyed();
work();
return ;
}
Day2 T1
#include<cstdio>
#include<ios>
using namespace std;
inline int read(){
register int x=;bool f=;
register char ch=getchar();
while(ch<''||ch>''){if(ch=='-')f=;ch=getchar();}
while(ch>=''&&ch<=''){x=(x<<)+(x<<)+ch-'';ch=getchar();}
return f?x:-x;
}
const int N=;
int n,m,k,T;
int C[N][N],S[N][N];
void prepare(){
for(int i=;i<=;i++){
C[i][]=%k;
for(int j=;j<=i;j++){
C[i][j]=(C[i-][j]+C[i-][j-])%k;
}
}
S[][]=(C[][]==);
for(int i=;i<=;i++){
for(int j=;j<=i;j++){
if(!j){
S[i][j]=S[i-][j]+(C[i][j]==);
}
else if(i==j){
S[i][j]=S[i][j-]+(C[i][j]==);
}
else{
S[i][j]=S[i-][j]+S[i][j-]-S[i-][j-]+(C[i][j]==);
}
}
}
}
int main(){
T=read(),k=read();
prepare();
for(;T--;){
n=read();m=read();
printf("%d\n",S[n][min(n,m)]);
}
return ;
}
Day2 T2
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define DB double
using namespace std;
inline int read(){
register int x=;bool f=;
register char ch=getchar();
while(ch<''||ch>''){if(ch=='-')f=;ch=getchar();}
while(ch>=''&&ch<=''){x=(x<<)+(x<<)+ch-'';ch=getchar();}
return f?x:-x;
}
const int N=1e5+,M=7e6+;
int n,m,q,u,v,t;
int mark,q0[N],q1[M],q2[M];
int main(){
n=read();m=read();q=read();u=read();v=read();t=read();
memset(q0,-0x3f,sizeof q0);
memset(q1,-0x3f,sizeof q1);
memset(q2,-0x3f,sizeof q2);
int h0=,t0=n,h1=,t1=,h2=,t2=;
for(int i=;i<n;i++) q0[i]=read();
sort(q0,q0+n,greater<int>());
DB p=(DB)u/(DB)v;
for(int i=,x,x1;i<=m;i++){
x=max(q0[h0],max(q1[h1],q2[h2]));
if(x==q0[h0]) h0++;
else if(x==q1[h1]) h1++;
else h2++;
x1=(x+=mark)*p;mark+=q;
q1[t1++]=x1-mark;
q2[t2++]=x-x1-mark;
if(i%t) continue;
printf("%d ",x);
}
putchar('\n');
for(int i=,x;i<=n+m;i++){
x=max(q0[h0],max(q1[h1],q2[h2]));
if(x==q0[h0]) h0++;
else if(x==q1[h1]) h1++;
else h2++;
if(i%t) continue;
printf("%d ",x+mark);
}
return ;
}
Day2 T3
#include<cstdio>
#include<cstring>
#include<cmath>
#include<iostream>
#define DB double
using namespace std;
const int N=;
const DB eps=1e-;
int T,n,s[N][N],dp[<<N-];
DB fm,a,b,x[N],y[N];
int main(){
ios::sync_with_stdio(false);
for(cin>>T;T--;){
memset(dp,0x3f,sizeof dp);
int i,j,k,sta;
cin>>n>>i;
for(i=;i<=n;i++) cin>>x[i]>>y[i];
for(i=;i<=n;i++){
for(j=i+;j<=n;j++){
fm=x[i]*x[j]*(x[i]-x[j]);
a=x[j]*y[i]-x[i]*y[j];
b=x[i]*x[i]*y[j]-x[j]*x[j]*y[i];
s[i][j]=;
if(a*fm<){
for(k=;k<=n;k++){
if(fabs(a*x[k]*x[k]+b*x[k]-y[k]*fm)<eps){
s[i][j]|=(<<k-);
}
}
}
}
}
dp[]=;
for(sta=;sta<(<<n);sta++){
if(sta<0x3f3f3f3f){
for(i=;<<i&sta;i++);i++;
dp[<<i-|sta]=min(dp[<<i-|sta],dp[sta]+);
for(j=i+;j<=n;j++){
dp[sta|s[i][j]]=min(dp[sta|s[i][j]],dp[sta]+);
}
}
}
printf("%d\n",dp[sta-]);
}
return ;
}
----------------------------------------------------------------------------------
以下为暴力代码
-----------------------------------------------------------------------------------
Day1 T2
//本代码为25分,加特判链、起点、终点可以拿60分
#pragma comment(linker,"/STACK:102400,102400")
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
inline int read(){
register int x=;bool f=;
register char ch=getchar();
while(ch<''||ch>''){if(ch=='-')f=;ch=getchar();}
while(ch>=''&&ch<=''){x=(x<<)+(x<<)+ch-'';ch=getchar();}
return f?x:-x;
}
const int N=3e5+;
struct node{
int v,next;
}e[N<<];
struct ss{
int a,b,anc;
}lca[N];
int n,m,tot,head[N],dep[N],f[N][];
int W[N],ans[N];
int tmp[N];
void add(int x,int y){
e[++tot].v=y;
e[tot].next=head[x];
head[x]=tot;
}
void dfs(int x,int fa,int de){
dep[x]=de;
f[x][]=fa;
for(int i=head[x];i;i=e[i].next){
int v=e[i].v;
if(v!=fa){
dfs(v,x,de+);
}
}
}
int calc_lca(int a,int b){
if(dep[a]<dep[b]) swap(a,b);
int t=dep[a]-dep[b];
for(int i=;i<=;i++){
if((<<i)&t){
a=f[a][i];
}
}
if(a==b) return a;
for(int i=;i>=;i--){
if(f[a][i]!=f[b][i]){
a=f[a][i];
b=f[b][i];
}
}
return f[a][];
}
#define name "running"
int main(){
n=read();m=read();
for(int i=,x,y;i<n;i++){
x=read();y=read();
add(x,y);add(y,x);
}
dfs(,,);
for(int j=;j<=;j++){
for(int i=;i<=n;i++){
f[i][j]=f[f[i][j-]][j-];
}
}
for(int i=;i<=n;i++) W[i]=read();
for(int i=,x,y;i<=m;i++){
lca[i].a=read();
lca[i].b=read();
lca[i].anc=calc_lca(lca[i].a,lca[i].b);
}
for(int j,k,i=;i<=m;i++){
int x=lca[i].a,y=lca[i].b;
for(j=;x!=lca[i].anc;j++){
if(j==W[x]) ans[x]++;
x=f[x][];
}
if(j==W[lca[i].anc]) ans[lca[i].anc]++;
tmp[]=;
for(;y!=lca[i].anc;){
tmp[++tmp[]]=y;
y=f[y][];
}
reverse(tmp+,tmp+tmp[]+);
for(k=;k<=tmp[];k++){
if(j+k==W[tmp[k]]) ans[tmp[k]]++;
}
}
for(int i=;i<n;i++) printf("%d ",ans[i]);printf("%d",ans[n]);
return ;
}
Day1 T3
//本代码76分,貌似暴力最多80分
#include<cstdio>
#include<cstring>
#include<iostream>
#define DB double
using namespace std;
inline int read(){
register int x=;bool f=;
register char ch=getchar();
while(ch<''||ch>''){if(ch=='-')f=;ch=getchar();}
while(ch>=''&&ch<=''){x=(x<<)+(x<<)+ch-'';ch=getchar();}
return f?x:-x;
}
const int N=;
const int M=;
int n,m,V,E,f[N][N];
int c[M],d[M];
DB miss,ans=1e9;
DB K[M];
bool ok1[M],ok2[M];
void init(){
memset(f,0x3f3f3f3f,sizeof f);
n=read();m=read();V=read();E=read();
for(int i=;i<=n;i++) c[i]=read();
for(int i=;i<=n;i++) d[i]=read();
for(int i=;i<=n;i++) scanf("%lf",&K[i]);
for(int i=,x,y,z;i<=E;i++){
x=read();y=read();z=read();
if(x==y) continue;
f[x][y]=min(f[x][y],z);
f[y][x]=min(f[y][x],z);
}
}
void floyed(){
for(int i=;i<=V;i++) f[i][i]=;
for(int k=;k<=V;k++){
for(int i=;i<=V;i++){
for(int j=;j<=V;j++){
if(i!=j&&i!=k&&j!=k){
f[i][j]=min(f[i][j],f[i][k]+f[k][j]);
}
}
}
}
}
DB check2(DB lv){
int now,tot=;
now=ok2[]?d[]:c[];
for(int i=;i<=n;i++){
if(ok2[i]){
if(now!=d[i]) tot+=f[now][d[i]];
now=d[i];
}
else{
if(now!=c[i]) tot+=f[now][c[i]];
now=c[i];
}
}
return lv*(DB)tot;
}
void dfs2(int x,DB lv){
if(x==n+){
miss+=check2(lv);return ;
}
if(!ok1[x]){
dfs2(x+,lv);
}
else{
dfs2(x+,lv*(1.0-K[x]));
ok2[x]=;
dfs2(x+,lv*K[x]);
ok2[x]=;
}
}
void merge(){
miss=;
dfs2(,1.0);
ans=min(ans,miss);
}
void dfs1(int x,int t){
if(t>m) return ;
if(x==n+){
merge();return ;
}
dfs1(x+,t);
ok1[x]=;
dfs1(x+,t+);
ok1[x]=;
}
int main(){
init();
floyed();
if(!m){
printf("%.2lf",check2(1.0));
}
else{
dfs1(,);
printf("%.2lf",ans);
}
return ;
}
Day2 T1
//本代码80分,加前缀和可以AC
#include<cstdio>
#include<cstring>
#include<iostream>
#define ll long long
using namespace std;
inline int read(){
register int x=;bool f=;
register char ch=getchar();
while(ch<''||ch>''){if(ch=='-')f=;ch=getchar();}
while(ch>=''&&ch<=''){x=(x<<)+(x<<)+ch-'';ch=getchar();}
return f?x:-x;
}
const int N=;
const int M=;
int n,m,k,T;
int tot,c[M],prime[M/];
bool check[M];
short C[N][N];
void prepare(){
n=;
for(int i=;i<=n;i++){
if(!check[i]) prime[++tot]=i;
for(int j=;j<=tot&&prime[j]*i<=n;j++){
check[prime[j]*i]=;
if(i%prime[j]==) break;
}
}
}
void Add(ll x){
if(x<) return ;
for(int i=;i<=tot;i++){
ll r=x,p=prime[i];
if(r<p) break;
while(r) c[i]+=(r/=p);
}
}
void Del(ll x){
if(x<) return ;
for(int i=;i<=tot;i++){
ll r=x,p=prime[i];
if(r<p) break;
while(r) c[i]-=(r/=p);
}
}
ll fpow(ll a,ll p,ll mod){
ll res=;
for(;p;p>>=,a=a*a%mod) if(p&) res=res*a%mod;
return res;
}
int calc(ll n,ll m){
memset(c,,sizeof c);
Add(n);
Del(m);
Del(n-m);
ll res=;
for(int i=;i<=tot;i++){
if(c[i]>) res=res*fpow(prime[i],c[i],k)%k;
if(!res) return ;
if(prime[i]>n) break;
}
return ;
}
int ans;
int main(){
memset(C,-,sizeof C);
prepare();
for(T=read(),k=read();T--;){
ans=;
n=read();m=read();
for(int i=;i<=n;i++){
for(int j=;j<=min(i,m);j++){
if(C[i][j]==) {ans++;continue;}
else if(C[i][j]==) continue;
C[i][j]=calc(i,j);
if(C[i][j]) ans++;
}
}
printf("%d\n",ans);
}
return ;
}
Day2 T2
//本代码45分,貌似暴力的极限就是50分
#include<cstdio>
#include<queue>
#include<cmath>
#include<algorithm>
using namespace std;
inline int read(){
register int x=;bool f=;
register char ch=getchar();
while(ch<''||ch>''){if(ch=='-')f=;ch=getchar();}
while(ch>=''&&ch<=''){x=(x<<)+(x<<)+ch-'';ch=getchar();}
return f?x:-x;
}
#define DB double
const int N=7e6+;
const int M=1e5+;
int num,n,m,q,u,v,t;
int s[N+M];
int cnt,ans[N];
bool cmp(const int &a,const int &b){
return a>b;
}
priority_queue<int>que;
int main(){
n=read();m=read();q=read();u=read();v=read();t=read();
DB p=(DB)u/(DB)v;
for(int i=;i<=n;i++) s[i]=read();
if(!q){
for(int i=;i<=n;i++) que.push(s[i]);
for(int i=,x;i<=m;i++){
x=que.top();que.pop();
ans[++ans[]]=x;
int x1=floor((DB)x*p);
int x2=x-x1;
que.push(x1);
que.push(x2);
}
for(int i=t;i<=ans[];i+=t) printf("%d ",ans[i]);
putchar('\n');
while(!que.empty()) s[++cnt]=que.top(),que.pop();
for(int i=+t-;i<=cnt;i+=t) printf("%d ",s[i]);
return ;
}
int top=n;
for(int i=;i<=m;i++){
int maxn=,pj=;
for(int j=;j<=top;j++){
if(s[j]>maxn){
maxn=s[j];
pj=j;
}
}
ans[++ans[]]=maxn;
int x1=floor((DB)maxn*p);
int x2=maxn-x1;
for(int j=;j<=top;j++) s[j]+=q;
s[pj]=x1;
s[++top]=x2;
}
sort(s+,s+top+,cmp);
for(int i=t;i<=ans[];i+=t) printf("%d ",ans[i]);
putchar('\n');
for(int i=+t-;i<=top;i+=t) printf("%d ",s[i]);
return ;
}
Day2 T3
//本代码50分,貌似暴力最多可以拿65分
#include<cstdio>
#include<iostream>
#include<cstring>
#include<cmath>
#define N 21
using namespace std;
int n,m,limit,ok[N],ans;
double x[N],y[N],a,b;
void check(int i,int j){
double x1=x[i],x2=x[j],y1=y[i],y2=y[j];
double P=x1/x2;
a=(y2*P-y1)/(x2*x1-x1*x1);
b=(y1-a*x1*x1)/x1;
}
void dfs(int t){
if(t>limit) return;
if(t>=ans) return;
int flag=;
for(int i=;i<=n;i++){
if(ok[i]) continue;
ok[i]=;flag=;int fl2=;
for(int j=i+;j<=n;j++){
if(ok[j]) continue;
check(i,j);
if(a>=) continue;
ok[j]=;fl2=;
int num=;
for(int k=j+;k<=n;k++){
double yy=a*x[k]*x[k]+b*x[k]-y[k];
if(fabs(yy)<=0.001){
ok[k]=;
}
}
dfs(t+),ok[i]=ok[j]=;
}
if(!fl2)dfs(t+),ok[i]=;
}
if(!flag){
ans=min(ans,t);
return;
}
}
void work(){
scanf("%d%d",&n,&m);
if(m==)limit=n;
else if(m==)limit=min(n/+,n);
else limit=min(n,n-n/);
for(int i=;i<=n;i++) scanf("%lf%lf",&x[i],&y[i]);
dfs();
printf("%d\n",ans);
}
int main(){
int T;scanf("%d",&T);
while(T--){
memset(ok,,sizeof(ok));
ans=N;
work();
}
return ;
}
noip2016代码的更多相关文章
- NOIP2016提高组解题报告
NOIP2016提高组解题报告 更正:NOIP day1 T2天天爱跑步 解题思路见代码. NOIP2016代码整合
- NOIp2016 Day1&Day2 解题报告
Day1 T1 toy 本题考查你会不会编程. //toy //by Cydiater //2016.11.19 #include <iostream> #include <cstd ...
- NOIp2016 游记
DAY -2 不要问我为什么现在就开了一篇博客. 本来想起个NOIp2016爆零记或者NOIp2016退役记之类的,但是感觉现在不能乱立flag了.所以就叫游记算了. 前几场模拟赛崩了一场又一场,RP ...
- NOIP2016普及总结
---恢复内容开始--- 当时我说如果不出意外有385,结果就这么跪在了第二题,惨啊 本来以为发挥算正常,结果这发挥太不正常了 [T1] 水题啊[趴 注意下细节就好考你会不会写代码. [T2] 这题大 ...
- Noip2016
<这篇是以前的,不开新的了,借版面来换了个标题> 高二了 开学一周,每天被文化课作业碾压... 但是仍然阻挡不了想刷题的心情... 对付noip2016的几块:(有点少,以后补) 高精度( ...
- NOIP2016の遊記
看了cydiater的游记,我更加认识到我有多弱,大神有多强 剩余的时间不多了,NOIP前停的一周课又颓了相当多的时间,感觉NOIP真的药丸 最后一天复习模板,看一下错误,总结做题的经验,现在实力实在 ...
- 关于我的OI生涯(AFO){NOIP2016 后}
这篇我就随意写啦~不用统一的“题解”形式.♪(^∀^●)ノ 也分好几次慢慢更吧~ 对于NOIP2016的总结,我本想善始善终back回,但是心情不足以支撑我,那就只能有始有终了......下面进入我的 ...
- CJOJ 2255 【NOIP2016】组合数问题 / Luogu 2822 组合数问题 (递推)
CJOJ 2255 [NOIP2016]组合数问题 / Luogu 2822 组合数问题 (递推) Description 组合数\[C^m_n\]表示的是从n个物品中选出m个物品的方案数.举个例子, ...
- 【NOIP2016】Day1 T3 换教室(期望DP)
题目背景 NOIP2016 提高组 Day1 T3 题目描述 对于刚上大学的牛牛来说,他面临的第一个问题是如何根据实际情况申请合适的课程. 在可以选择的课程中,有 2n 节课程安排在 n 个时间段上. ...
随机推荐
- 一起来学习Android自定义控件1
概述 Android已经为我们提供了大量的View供我们使用,但是可能有时候这些组件不能满足我们的需求,这时候就需要自定义控件了.自定义控件对于初学者总是感觉是一种复杂的技术.因为里面涉及到的知识点会 ...
- OC 类方法,对象方法,构造方法以及instancetype和id的异同
OC 类方法,对象方法,构造方法以及instancetype和id的异同 类方法: 类方法是可以直接使用类的引用,不需要实例化就可以直接使用的方法.一般写一些工具方法. 类方法: 声明和实现的时候,以 ...
- 深入浅出Block的方方面面
内容大纲: 1.Blocks概要 2.Blocks模式 3.Block实质(面试常问重点) 1.Blocks概要 什么是Blocks:Blocks是C语言的扩充的功能,可以用一句话来表示Blocks的 ...
- Tomcat+Nginx+Lvs部署方案与性能调优
立项要求:用户登录并发数达到1000vuser.原项目设计没有Nginx和LVS,经过性能测试并发数最高到400,就报响应超时,且系统资源消耗严重.经过和架构师商议决定先加入Nginx解决负载均衡处理 ...
- Aptana Studio 3 汉化简体中文版
最近开始学习ruby on rails了,同事推荐我用aptana这个编辑器,它对ror的支持比较好,所以安装了这个软件,但是发现都是英文的,所以在网上看汉化教程,幸亏有高手写过这个文章了,这里我只是 ...
- 每日Scrum(1)
今天又正式开始了第二个冲刺周期,计划七天,主要需要改进的地方包括UI界面,还有一些细节的把握. 今天出现的主要问题有:在讨论UI界面风格的时候,小组内部意见不统一,对UI界面的创作流程不熟悉,以及难度 ...
- 深入解析Windows操作系统笔记——CH1概念和术语
1.概念和工具 本章主要介绍Windows操作系统的关键概念和术语 1.概念和工具 1.1操作系统版本 1.2基础概念和术语 1.2.1Windows API 1.2.2 服务.函数和例程 1.2.3 ...
- mysql online ddl
大家知道,互联网业务是典型的OLTP(online transaction process)应用,这种应用访问数据库的特点是大量的短事务高并发运行.因此任何限制高并发的动作都是不可接受的,甚至 ...
- cacti监控mysql
cacti监控mysql 2013-09-25 16:21:43 分类: LINUX 原文地址:cacti监控mysql 作者:baochenggood cacti监控mysql 1 下载cacti监 ...
- 玩转CSS3,嗨翻WEB前端,CSS3伪类元素详解/深入浅出[原创][5+3时代]
在我的上一篇博客中, 很多园友提出说对css3"画图"不是很理解, 在跟他们私聊了一段时间以后,加上自己在开始自学css3的时候的疑惑,我觉得大家之所以不是很理解主要是因为对伪元素 ...