2017暑假 贪心

  • uva 10382 - Watering Grass

题目地址: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1323

洒水器洒水区域是圆形,草地是矩形,勾股定理求出洒水器所撒横向范围然后贪心就好了。

ps:如果洒水器洒水直径 r*2 小于草地宽度 w ,这个装置就非常很超级没用,这种数据就不需要处理了,否则会tle...

代码如下:

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3
 4 typedef pair< double,double > pi;
 5
 6 int main()
 7 {
 8     int n, l, w;
 9
10     while(~scanf("%d%d%d", &n, &l, &w))
11     {
12         priority_queue < pi, vector<pi>, greater<pi> > q;
13         for(int i = 0; i < n; i++)
14         {
15             double p;
16             int r;
17             scanf("%lf%d", &p, &r);
18             if(r*2 < w) continue;//
19             double temp = sqrt((double)r*r - (double)w*w/4.0);
20             pi cur;
21             cur.first = p - temp, cur.second = p + temp;
22             q.push(cur);
23         }
24
25         double le = 0.0, ri = 0.0;
26         int sum = 0, flag = 0;
27         while(!q.empty())
28         {
29             pi temp = q.top();
30             if(temp.first > ri) break;
31             else
32             {
33                 while(!q.empty() && q.top().first <= le)
34                 {
35                     pi cur = q.top();q.pop();
36                     if(cur.second > ri) ri = cur.second;
37                 }
38                 le = ri;
39                 sum++;
40                 if(ri >= l)
41                 {
42                     flag = 1;
43                     break;
44                 }
45             }
46         }
47
48         if(flag) printf("%d\n", sum);
49         else    puts("-1");
50     }
51     return 0;
52 }

  • uva 10905 - Children‘s Game

题目地址: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1846

每个字符的“大小”和数字的大小是一样的,string数组收进来排个序输出就好了。。。

排序方法:数字首位大的在前,首位大小相同的比如 9、90 ,直接比较 990 和 909的大小即可。

代码如下:

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3
 4 bool cmp(string x, string y)
 5 {
 6     if(x[0] == y[0])
 7     {
 8         string a = x + y, b = y + x;
 9         return a > b;
10     }
11     return x > y;
12 }
13
14 int main()
15 {
16     int n;
17     while(~scanf("%d", &n) && n)
18     {
19         string s[55];
20         for(int i = 0; i < n; i++)  cin >> s[i];
21         sort(s, s+n, cmp);
22         for(int i = 0; i < n; i++) cout << s[i];
23         printf("\n");
24     }
25     return 0;
26 }

  • uva 11134 - Fabled Rooks

题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=23&page=show_problem&problem=2075

就是一排一排地摆吧。。。补完剧再回来做。

时间: 2024-08-04 08:55:04

2017暑假 贪心的相关文章

2017暑假集训~心路历程

2017年暑假集训的个人赛阶段已经结束了. 回想这7场比赛,前几场发挥的还可以. 但是第4场之后开始状态开始下滑.第4场是在TOJ上做的,题数马马虎虎,就是罚时有点多. 第5场的FOJ的比赛打得十分糟糕.因为并不熟悉这个OJ, 赛前测试工作也没有作足. 比赛的时候各种意想不到的CE,WA.这样一来我前两小时只过了一题. 不过最后两小时至少翻到了不至于垫底的位置…… 第6场发挥也不好,被一道树形DP搞住了(这应该是我的强项),卡了一个半小时发现自己题目读错了.结果还是想不出来……然后另一道贪心因为

2017暑假集训前总结和规划

距离大一进来已经一年了啊,感觉还是啥也不会,哎,太差了,总结一下这一年都学了写什么吧! 大一寒假开始专题,刷过的有:dp,dfs和bfs,数论(gcd拓展gcd,欧拉定理等等,但是中国剩余定理没学,等复习的时候再学吧),并查集,最短路(bellman-fprd,dijkstra,floyd-warshall,spfa),最小生成树(prim,kruskal),线段树,二分三分 大一下学期有:拓扑排序,基础计算几何(直线线段相交,快速排除实验,跨立实验),矩阵快速幂,博弈基础(nim博弈,威佐夫博

2017暑假实践报告

第二年暑假在学校度过了,去年的时候还在成长阶段,今年就在修炼阶段,刚开始的一个多星期没有什么状态,但总的来说一个暑假的学习,还是学了不少东西,自己也成长了不少. 刚来的一个星期,老师给了一个数据结构的专题,先敲敲代码,找回手感,但是写的过程中并不容易,线段树各种应用,还是需要YY.但是慢慢的就好点了,能感觉到的状态在回升,感觉自己又开始熟悉键盘了,接下来的第二个专题二分贪心,就很恶心了,卡精度,贪心的时候,贪心的正确性检验,很痛苦. 接下来的多校训练就是重头戏了. 第一场多校训练,朝鲜的金策工业

2017暑假就看了这几本书

写在前面 高效能人士的七个习惯:精华版.第2版 / (美) 史蒂芬·柯维著 心智时间:意识中的时间因素:the temporal factor in consciousness / (美) 本杰明·里贝特著 谈判力 / (美)罗杰·费希尔,(美)威廉·尤里,(美)布鲁斯·巴顿著影响力心理学 / (美)菲利普·津巴多,(美)迈克尔·利佩著[未完成]来源:长清图书馆 阅读用时:2017.7.7-2017.8.28共52天,书的容量并不是很大,看上去看的挺多,其实并没有,最后一本是很早之前就借了的,觉

2017暑假训练记录

目标: 大二上进队参加regional 准备专攻一下计算几何什么的,争取对队伍做些贡献-- 其他题目也会做 8月20日军训前努力提升自己吧 2017.06.11 敲了一些二维的点和直线和多边形的板子 poj1654 Area(多边形面积)

2017暑假集训——所见,所闻,所想,所悟

很久了,就想写个总结,想想过去的一年都做了什么,以后又该做什么,所以说,这与其说是这次暑假集训的总结不如说是来一年的总结吧: 一年了已经,时间还真是毫不留情啊,从小萌新成了老油子,刚军训完的时候还是个瘦子,结果现在成了一个小胖子,真是好难受,心好痛,所以打算大二减减肥,哈哈,这一年来,遇到了很多人,也明白了很多事,成长了许多,一直在做自己喜欢的事,但是还没有竭尽全力,如今知我所求,当竭尽全力才是,重要的还是两个字,自律.跳出生活的舒适区,敢于改变,学会自律,方才会有成长吧: 对于刚刚经历的暑假集

2017暑假 动态规划

uva 10534 - Wavio Sequence 题意:"长度"对称的LIS. 思路:正.逆序求两次LIS,正序就ansi[i] 存放a[0]~a[i]LIS,逆序也差不多这样...然后拿着两个ans数组对比着找到满足条件的最大解. 代码如下: 1 #include <bits/stdc++.h> 2 using namespace std; 3 4 const int inf = 0x3f3f3f3f; 5 6 int main() 7 { 8 int n, in[1

杭电2017暑假

6月29日 目标:早上 LeetCode 1-2道题 神经网络/深度学习 信号与系统 6月28日 杭电第一天 1.信号与系统 / 信号处理   傅里叶 小波 2.机器学习 深度学习 3.了解 脑电数据采集芯片TGAM 4.基础,数学 算法 英语 应该干什么? 0.健身 1.开始基础知识学习 2.神经网络->深度学习 3.信号与系统 概念上的了解

腾讯2017暑假实习生 - 软件开发类笔试

和意料之中差不多,因为自己搞的PHP方向,前几个学期专业课没好好学,期末都是低分飘过...牛客刷的也不多,所以做得很一般. 总结一下: 1.选择题30题:数据结构5道左右,数据库3道左右,C++10道左右,操作系统5道左右,算法设计3道左右,概率题3道左右,磁盘存储2道.都是基础题型,感觉范围和考研差不多的样子. 2.简答题2题: 第一题是数据结构和文件存储相关的计算题,相关概念搞清楚:索引.桶.hash.B+树 搞清楚应该不难; 第二题是编写一个"逆序数函数",输出一个仅包含&quo