洛谷八月月赛Round1凄惨记
2016-08-11 23:47
253 查看
个人背景:
上午9:30放学,然后因为学校举办读书工程跟同学去书城选书,中午回来开始打比赛,下午又回老家,中间抽出一点时间调代码,回家已经8:50了
也许是7月月赛时“连蒙带骗”AK的太幸运然而因同学的id评测过判代码雷同扣100分后while(true) rp--;本次是一个凄惨.....
我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b]
[b][b][b][b][b][b][b][b][b][b][b][b][b][b][b][b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b]
我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b]
[b][b][b][b][b][b][b][b][b][b][b][b][b][b][b][b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b]
我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b]
[b][b][b][b][b][b][b][b][b][b][b][b][b][b][b][b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b]
[b][b][b][b][b][b][b][b][b][b][b][b][b][b][b][b][b][b][b][b][b][b][b]-------------------------------------------------------------------------[/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b]
题目:
http://scarlet.is-programmer.com/user_files/Scarlet/File/COOL's%20Life.pdf
--------------------------------------------------
过程:
第一题在去书城的公交车上就开始想,对于需要快速找到行x,y坐标都大的点,分别找x和y然后取交集怎么样?貌似还是n^2
唉,范围20*20的方格,可以每个宿舍保存在哪里的妹子啊,那样n*400
然后,调试时出现迷之问题,用了vector二维数组,好像是溢出或是什么问题,造数据的循环卡在刚结束,怎么搞都不好
【2016-08-12在win下测试,把频繁的debug输出该少些,n=90000也出结果了,但很慢,洛谷仍re】
至少会了double取模 呵呵呵
View Code
第四题,lis可以60分,但只有n^2的lis可以做,并且只有50分(rp—);7-8 a<=s,应该直接用nlogn的lis没问题
[b]-------------------------------------------[/b]
[b]正解:orz[/b]
[b]http://scarlet.is-programmer.com/posts/204919.html[/b]
上午9:30放学,然后因为学校举办读书工程跟同学去书城选书,中午回来开始打比赛,下午又回老家,中间抽出一点时间调代码,回家已经8:50了
也许是7月月赛时“连蒙带骗”AK的太幸运然而因同学的id评测过判代码雷同扣100分后while(true) rp--;本次是一个凄惨.....
我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b]
[b][b][b][b][b][b][b][b][b][b][b][b][b][b][b][b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b]
我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b]
[b][b][b][b][b][b][b][b][b][b][b][b][b][b][b][b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b]
我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b]
[b][b][b][b][b][b][b][b][b][b][b][b][b][b][b][b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[b]我太弱了[/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b]
[b][b][b][b][b][b][b][b][b][b][b][b][b][b][b][b][b][b][b][b][b][b][b]-------------------------------------------------------------------------[/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b]
题目:
http://scarlet.is-programmer.com/user_files/Scarlet/File/COOL's%20Life.pdf
--------------------------------------------------
过程:
第一题在去书城的公交车上就开始想,对于需要快速找到行x,y坐标都大的点,分别找x和y然后取交集怎么样?貌似还是n^2
唉,范围20*20的方格,可以每个宿舍保存在哪里的妹子啊,那样n*400
然后,调试时出现迷之问题,用了vector二维数组,好像是溢出或是什么问题,造数据的循环卡在刚结束,怎么搞都不好
【2016-08-12在win下测试,把频繁的debug输出该少些,n=90000也出结果了,但很慢,洛谷仍re】
至少会了double取模 呵呵呵
// // main.cpp // luogu8_3 // // Created by abc on 16/8/11. // Copyright © 2016年 abc. All rights reserved. // #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> using namespace std; const int N=50005,M=10005,INF=1e9; inline int read(){ char c=getchar(); int x=0; while(c<'0'||c>'9'){c=getchar();} while(c>='0'&&c<='9'){x=x*10+c-'0';c=getchar();} return x; } int n,m,k,u,v,s ,t ; int h ,cnt=0; struct edge{ int ne,v; }e[M<<1]; inline void ins(int u,int v){ cnt++; e[cnt].ne=h[u]; e[cnt].v=v; h[u]=cnt; cnt++; e[cnt].ne=h[v]; e[cnt].v=u; h[v]=cnt; } bool vis ; int deep ,fa [17]; inline void dfs(int u){ vis[u]=1; //printf("u %d\n",u); for(int j=1;(1<<j)<=deep[u];j++) fa[u][j]=fa[fa[u][j-1]][j-1]; for(int i=h[u];i;i=e[i].ne){ int v=e[i].v; if(!vis[v]){//printf("dfs %d\n",v); deep[v]=deep[u]+1; fa[v][0]=u; dfs(v); } } } //int plca ; //jiyihua inline int lca(int x,int y){ // if(plca[x][y]) return plca[x][y]; // int &p=plca[x][y]; int p=0;//buwei if(deep[x]<deep[y]) swap(x,y); int bin=deep[x]-deep[y]; for(int i=0;i<=16;i++) if((1<<i)&bin) x=fa[x][i]; if(x==y) return p=x; for(int i=16;i>=0;i--) if(fa[x][i]!=fa[y][i]){ x=fa[x][i]; y=fa[y][i]; } return p=fa[x][0]; } int num=0,val ; int ans=INF; void solve(){ dfs(1); for(int i=1;i<=n;i++){ memset(val,0,sizeof(val)); num=0; for(int j=1;j<=m;j++){ int ok=0; int p=lca(s[j],t[j]); if(deep[p]>deep[i]) ok=0; else if(deep[p]==deep[i]&&p==i) ok=1; else{ int p1=lca(s[j],i),p2=lca(t[j],i); if(p1==p&&p2==i) ok=1; if(p2==p&&p1==i) ok=1; } if(ok) val[++num]=-deep[p]+deep[s[j]]-deep[p]+deep[t[j]]+1; } if(num<k) continue; sort(val+1,val+1+num); for(int i=1;i+k-1<=num;i++){ // int mx=val[i+k-1],mn=val[i];//printf("mx %d mn %d\n",mx,mn); ans=min(ans,val[i+k-1]-val[i]); } } } int main(int argc, const char * argv[]) { n=read();m=read();k=read(); for(int i=1;i<=n-1;i++){ u=read();v=read(); ins(u,v); } for(int i=1;i<=m;i++){ s[i]=read();t[i]=read(); } solve(); if(ans==INF) cout<<-1; else cout<<ans; //cout<<"\n\n"; //printf("%d %d %d %d",deep[1],deep[2],deep[5],lca(2, 5)); return 0; }
View Code
第四题,lis可以60分,但只有n^2的lis可以做,并且只有50分(rp—);7-8 a<=s,应该直接用nlogn的lis没问题
[b]-------------------------------------------[/b]
[b]正解:orz[/b]
[b]http://scarlet.is-programmer.com/posts/204919.html[/b]
相关文章推荐
- 洛谷月赛P3768 简单的数学题
- 洛谷11月月赛round.2
- 洛谷月赛 Hello World(升级版) - 动态规划
- 【洛谷月赛】洛谷11月月赛·Day1
- 【洛谷2017年3月月赛】Round1第四题-环套树森林DFS+贪心
- 2017洛谷3月丧病月赛思考记录
- 洛谷3月月赛 R1 Step! ZERO to ONE
- 【洛谷月赛】洛谷10月月赛参·最后的狂欢
- 洛谷11月月赛 T1 高兴的津津
- 洛谷11月月赛 T2 不开心的金明
- 来自洛谷八月月赛的一道数学问题 - 子串和 - 组合数学
- [洛谷月赛] 红色的幻想乡
- 预生成密码(洛谷9月月赛)
- 洛谷-语文成绩-[有奖]洛谷5月月赛:kkksc03的三大神器
- 洛谷11月月赛round.1
- 洛谷11月月赛总结
- 8月月赛A 洛谷p3861
- 洛谷3月月赛 R1 Step! ZERO to ONE
- 洛谷11月月赛 T3 斐波那契数列
- 洛谷月赛 U4728 小L的牛栏