贪心
来源:互联网 发布:软件调研方案模板 编辑:程序博客网 时间:2024/06/03 16:25
(1)2017.7.20
NYOJ 12 喷水装置(二)
- 区域覆盖 圆转化为线段覆盖
- 左坐标从小到大排序,从起点开始找右坐标最远的;然后再把它当作新的起点
- d=sqrt(r*r-h*h/4.0); 想当然的以为d都是大于0,忘了可以小于0,一直WA。。就是r比草坪的宽度一半还小的情况
#include <iostream>#include <algorithm>#include <math.h>using namespace std;typedef struct{ float st; float ed;} Rnode;Rnode a[10005];int n,w,h,ans;bool compare(Rnode a,Rnode b){ return a.st<b.st;}void solve(){ float st=0,maxed=0,former=0; while(st<w) { int flag=0; for(int i=0; i<n; i++) { if(a[i].st>st) break; if(st==0||former<a[i].st) { if(maxed<a[i].ed) { maxed=a[i].ed; flag=1; } } } if(flag) { ans++; former=st; st=maxed; } else { ans=0; break; } }}int main(){ int m; cin>>m; while(m--) { cin>>n>>w>>h; int x,r,flag=0; for(int i=0; i<n; i++) { cin>>x>>r; float d; d=sqrt(r*r-h*h/4.0); if(d>0) { a[flag].st=x-d; a[flag++].ed=x+d; } } n=flag; sort(a,a+n,compare); ans=0; solve(); cout<<ans<<endl; } return 0;}
(2)2017.7.25
NYOJ 1087 摆方格
<数学规律>
http://m.blog.csdn.net/qq_29070399/article/details/54933964
这个博客讲解很详细
!!输入
输入包含多组测试数据。
每一行包括一个数据n,表示n*n的方格(保证所有数据在2^64范围内且n>0)
所以n不能用int,用 long long
#include <iostream>#include <stdio.h>using namespace std;long long n;int main(){ while(~scanf("%lld",&n)) { long long ed=n*n+(n-2)*(-2); long long ans=(n-1)*ed+(n-1)*(n-2)/2*2+ed/2; cout<<ans<<endl; } return 0;}
(3)二分查找+贪心
- 最小值的最大值
NYOJ 586 疯牛
#include <iostream>#include <stdio.h>#include <string.h>#include <algorithm>using namespace std;int n,m;int a[100005];bool judge(int k){ int st=a[0]; int count=1; for(int i=1;i<n;i++) if(a[i]-st>=k) { count++; if(count>=m) return true; st=a[i]; } return false;}int binary_search(){ int left=0; int right=a[n-1]-a[0]; int mid=(left+right)>>1; while(left<=right) { if(judge(mid)) left=mid+1; else right=mid-1; mid=(left+right)>>1; } return left-1;}int main(){ while(~scanf("%d%d",&n,&m)) { for(int i=0; i<n; i++) cin>>a[i]; sort(a,a+n); cout<<binary_search()<<endl; } return 0;}
2.
Yougth的最大化
阅读全文
0 0
- 贪心!
- 贪心~
- 贪心
- 贪心
- 贪心
- 贪心
- 贪心
- 贪心
- 贪心
- 贪心
- 贪心
- 贪心
- 贪心
- 贪心
- 贪心
- 贪心
- 贪心
- 贪心
- websphere 应用程序重命名
- Unsupported major.minor version 51.0
- iOS11 VideoToolbox硬解HEVC【待整理】
- requirejs解决angular中按需加载的需求
- Android 仿今日头条的视频播放控件(几行代码快速实现)
- 贪心
- freemaker页面静态化
- 【DOS网络命令】-net的用法
- 交叉编译器
- FastDFS为什么要结合Nginx?
- 针对有skin的模型进行批量去除顶点色和去除2U的操作
- scala学习笔记二----交互式shell编程使用
- Centos7.2 Nginx配置负载均衡
- Service的完全详解