2012暑假集训内部测试赛3
http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2427
线段树+离散化 不离散化不知道会不会超时 一直RE 可能N值没有说的那么小吧 题意有问题 按1W开数组就RE 按10W开就A了
1 #include<stdio.h> 2 #include<string.h> 3 #include<algorithm> 4 #include<iostream> 5 using namespace std; 6 #define N 100001 7 int s[N*6],num,f[100011],po[100011][2]; 8 struct node 9 { 10 int li,num; 11 }line[200011]; 12 void build(int l,int r,int w) 13 { 14 s[w] = -1; 15 if(l==r) 16 { 17 return ; 18 } 19 int m = (l+r)/2; 20 build(l,m,2*w); 21 build(m+1,r,2*w+1); 22 } 23 void add(int a,int b,int da,int l,int r,int w) 24 { 25 if(l==a&&b==r) 26 { 27 s[w] = da; 28 return ; 29 } 30 int m = (l+r)/2; 31 if(s[w]>0) 32 { 33 s[2*w] = s[w]; 34 s[2*w+1] = s[w]; 35 s[w] = -1; 36 } 37 if(b<=m) 38 add(a,b,da,l,m,2*w); 39 else 40 if(a>m) 41 add(a,b,da,m+1,r,2*w+1); 42 else 43 { 44 add(a,m,da,l,m,2*w); 45 add(m+1,b,da,m+1,r,2*w+1); 46 } 47 } 48 void search(int l,int r,int w) 49 { 50 if(s[w]>0) 51 { 52 f[s[w]] = 1; 53 return ; 54 } 55 if(l==r) 56 return ; 57 int m = (l+r)/2; 58 search(l,m,2*w); 59 search(m+1,r,2*w+1); 60 } 61 bool cmp(node a,node b) 62 { 63 return a.num<b.num; 64 } 65 int main() 66 { 67 int n,i,j,t,a,b; 68 scanf("%d", &t); 69 while(t--) 70 { 71 memset(f,0,sizeof(f)); 72 num = 0; 73 scanf("%d", &n); 74 build(1,N,1); 75 for(i = 0; i < n ;i++) 76 { 77 scanf("%d%d", &po[i][0],&po[i][1]); 78 line[2*i].li = i+1; 79 line[2*i].num = po[i][0]; 80 line[2*i+1].li = -(i+1); 81 line[2*i+1].num = po[i][1]; 82 } 83 sort(line,line+2*n,cmp); 84 int te = line[0].num,g = 1; 85 for(i = 0 ; i < 2*n ; i++) 86 { 87 if(te!=line[i].num) 88 { 89 te = line[i].num; 90 g++; 91 } 92 if(line[i].li>0) 93 { 94 po[line[i].li][0]=g; 95 } 96 else 97 po[-line[i].li][1]=g; 98 } 99 for(i = 1; i <= n ; i++) 100 { 101 add(po[i][0],po[i][1],i,1,N,1); 102 } 103 search(1,N,1); 104 for(i = 1; i <= n ; i++) 105 if(f[i])106 num++; 107 printf("%d\n",num); 108 } 109 return 0; 110 }
http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2430
DP 前一个的1或者最高 到这一个1或者最高 中间选一个最优的
1 #include<iostream> 2 #include<cstdio> 3 #include<string.h> 4 #include<cmath> 5 using namespace std; 6 int main() 7 { 8 int i,j,n,m,x,a[111],k; 9 double dp[111][111]; 10 while(scanf("%d",&n)!=EOF) 11 { 12 memset(dp,0,sizeof(dp)); 13 for(i = 1; i <= n ; i++) 14 scanf("%d",&a[i]); 15 scanf("%d", &k); 16 if(n==1) 17 { 18 printf("0.000000\n"); 19 continue; 20 } 21 for(i = 2; i <= n ; i++) 22 { 23 x = a[i-1]; 24 if(dp[i][1]<dp[i-1][x]+sqrt(k*k+(x-1)*(x-1))) 25 dp[i][1] = dp[i-1][x]+sqrt(k*k+(x-1)*(x-1)); 26 if(dp[i][1]<dp[i-1][1]+k) 27 dp[i][1] = dp[i-1][1]+k; 28 if(dp[i][a[i]]<dp[i-1][x]+sqrt(k*k+(x-a[i])*(x-a[i]))) 29 dp[i][a[i]] = dp[i-1][x]+sqrt(k*k+(x-a[i])*(x-a[i])); 30 if(dp[i][a[i]]<dp[i-1][1]+sqrt(k*k+(a[i]-1)*(a[i]-1))) 31 dp[i][a[i]] = dp[i-1][1]+sqrt(k*k+(a[i]-1)*(a[i]-1)); 32 } 33 if(dp[n][1]>dp[n][a[n]]) 34 printf("%.6lf\n",dp[n][1]); 35 else 36 printf("%.6lf\n",dp[n][a[n]]); 37 } 38 return 0; 39 } 40
http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2429
模拟 这题WA惨了 最后两分钟交对 好险。。
x不能为负值 就算最后有符合的负值也是输出-1 考虑两种情况x为0或者不为0的情况
1 #include<stdio.h> 2 #include<string.h> 3 int main() 4 { 5 int i,j,n,f[401],m; 6 long long k,a[61],stack[401],b[61]; 7 while(scanf("%d",&n)!=EOF) 8 { 9 int top =200; 10 memset(stack,0,sizeof(stack)); 11 memset(f,0,sizeof(f)); 12 for(i = 1; i <= n ; i++) 13 { 14 scanf("%lld",&a[i]); 15 b[i] = a[i]; 16 } 17 scanf("%lld", &k); 18 for(j = 1; j <= n ; j++) 19 { 20 if(a[j]==-1) 21 a[j]=0; 22 if(a[j]==0) 23 { 24 top--; 25 long long x = stack[top]; 26 top--; 27 x+=stack[top]; 28 stack[top++] = x; 29 } 30 else 31 stack[top++] = a[j]; 32 } 33 top--; 34 if(stack[top]==k) 35 { 36 printf("0\n"); 37 continue; 38 } 39 top = 200; 40 for(j = 1; j <= n ; j++) 41 { 42 if(b[j]==-1) 43 { 44 f[top]=1; 45 stack[top++] = 0; 46 } 47 else 48 if(b[j]==0) 49 { 50 top--; 51 long long x = stack[top]; 52 top--; 53 x+=stack[top]; 54 if(f[top]||f[top+1]) 55 { 56 f[top] = 1; 57 } 58 stack[top++] = x; 59 } 60 else 61 stack[top++] = b[j]; 62 } 63 top--; 64 if(!f[top]&&stack[top]==k) 65 { 66 printf("0\n"); 67 continue; 68 } 69 if(f[top]&&k-stack[top]>0) 70 printf("%lld\n",k-stack[top]); 71 else 72 printf("-1\n"); 73 } 74 return 0; 75 }
转载于:https://www.cnblogs.com/shangyu/archive/2012/08/27/2659191.html
2012暑假集训内部测试赛3相关推荐
- 2017年寒假集训分组测试赛2 Ranklist
初级二十四点游戏 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 受李老师的影响,他4岁的孩 ...
- 暑假集训中期测试 Problem D: 装箱问题2 (并查集)
Description 有很多个棱长为1的正方体货物整齐地堆在一堆.不过有一些是悬空的, 大概是粘上去的吧... 给出这些货物的相邻关系,求最小的长方体(或正方体)能装下这些货物的集装箱的体积,(集装 ...
- 比赛2016年暑假集训盲打首秀赛结果
4 53 2015计算机科学与技术1班 15111205046 鞠明杭 149 Fishing For Jasmine 75.50KPM 99.34% 149 2016-06-25 19:23:04 ...
- 【2021软件创新实验室暑假集训】SpringMVC框架(设计原理、简单使用、源码探究)
系列文章目录 20级 Java篇 [2021软件创新实验室暑假集训]计算机的起源与大致原理 [2021软件创新实验室暑假集训]Java基础(一) [2021软件创新实验室暑假集训]Java基础(二) ...
- 暑假集训考试反思+其它乱写
7.20 Sat 下午返校 回来改题 sdfz的巨佬觉得线上虐人不够爽,所以他们过来了 改T2的时候发现一个问题 如果要用$i$和$i\ xor\ 1$表示相邻的两条边,链式前向星tot初值必须设为1 ...
- 2016暑假集训小结
小结 暑假集训之前,有很多事情在忙,什么考试,**之类.集训开始的时候还回了一趟家,这趟回家也发生了对我影响最大的事,之后想了很久,觉得也还是有必要继续走下去,因为我还是很爱这个集训队,很爱思考题解题 ...
- 2015暑假集训总结
这个暑假,我很明显的感觉,我的许多方面都发现了缺陷或得到了提升. 首先是做比赛.做题策略方面的,我还有很多要改进的地方.比赛时,我总是想到一些有些神奇的想法,有时会接近正解或者就是,有时会相差甚远,打 ...
- 2017ACM暑假集训总结
作为一个即将大二的学生,第一次参加杭电的暑期集训. 集训7月底开始,我和其他队员一样,大老远的跑到学校,烈日炎炎,正式夏天最热的时候.而且正逢学校装修宿舍,无奈,只好在外租房子租: 尽管坏境艰苦,但我 ...
- 【软件创新实验室2021年暑假集训】Java技术培训——Java前置知识学习
[软件创新实验室2021年暑假集训]Java技术培训--Java前置知识学习 文章目录 [软件创新实验室2021年暑假集训]Java技术培训--Java前置知识学习 前言 一.了解计算机 1.计算机的 ...
最新文章
- 中国高校首个Apache开源项目 清华数为物联网时序数据库IoTDB 及可自由组装的大数据软件栈系列组件发布...
- 什么样的NLP库,可以支持53种语言?
- linux内核技术文章
- 联想e480一键恢复小孔_联想IdeaPad 340C评测:3000必入的15寸轻薄本
- php while for 性能,php的foreach,while,for的性能比较
- Object-c学习之路三(@class与#import的区别)
- 一行 Python 代码能实现这么多丧心病狂的功能?(代码可复制)
- 10-9-用户登录控制
- LAMP+LNMP视频教程
- python3.7.2安装与pycharm_Python3和PyCharm安装与环境配置【图文教程】
- DX中关于error C2664: “ID3DXEffect::SetMatrix”: 不能将参数 1 从“const char [17]”转换为“D3DXHANDLE”
- mysql 运算符转义_我的MYSQL学习心得(五) 运算符
- 从零开始的FPGA学习5-同步复位D触发器、异步复位D触发器
- python对数正态分布函数_scipy,对数正态分布-参数
- Layui树形表格组件的实现
- 网易im 会话列表不显示的问题
- Unity灯光(light)
- 怎样用matlab建立igbt的仿真分析模型,基于MATLAB/Simulink的IGBT导通模型研究
- 【读书笔记】被讨厌的勇气之自卑感
- ***常用工具下载大全
热门文章
- 用C#实现仿Ruby的XML Builder
- .NET平台PE结构分析之Metadata(一)
- 在ASP.NET中把数据POST到其他页面
- php屏幕共享功能,利用无线投屏技术同屏直播,精彩随时共享
- 怎么把模组直接装在Java里面_如何使用jythonj将python模块添加到java中
- python编写函数、计算三个数的最大公约数_Python实现利用最大公约数求三个正整数的最小公倍数示例...
- python模块与包
- main函数执行前执行一个函数的写法
- 从理念到实践跳跃式演进!云的原生“免疫系统”如何有机作战?
- php百度人脸识别做登陆,php调用百度人脸识别接口查询数据库人脸信息实现验证登录功能...