![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
杂题
文章平均质量分 65
incredible_bly
这个作者很懒,什么都没留下…
展开
-
杂题专项:UVa 10012
这题刚开始以为就是简单的贪心,后来发现当两个球的半径差距很大时,两球的距离就不再是2*sqrt(r1*r2)了。这样一下就没有思路了,在网上搜了下题解,才知道要记录摆放的球的球心坐标,然后通过之前摆放过的球的球心坐标更新之后摆放的球的球心坐标,最后求所摆放的球所占据的长度。注意到球的数量#include #include #include #include #include原创 2013-03-30 23:56:56 · 483 阅读 · 0 评论 -
杂题专项:UVa 10670
一道贪心,即在花费小于减的情况下尽量除。注意最后剩下exactly m,不能小于m。另外因为输出的限制,所以建立一个结构体并用algorithm里的sort可以方便的满足要求。#include #include #include #include #include using namespace std;#define M 110struct agency{ cha原创 2013-03-22 23:00:21 · 519 阅读 · 0 评论 -
杂题专项:LA 3602
读懂了题意的话就很容易了,直接暴力就可以了。#include #include #include #include using namespace std;int m,n;char s[60][1010];int cnt[4];int main(){ freopen("in.txt","r",stdin); int T; cin>>T; whi原创 2013-03-26 22:43:11 · 446 阅读 · 0 评论 -
杂题专项:UVa 10382
一开始以为是一道简单的区间覆盖贪心,区间是离散化的。后来才发现区间是连续的,每个sprinkler覆盖的区间为[p-sqrt(r*r-w*w/4),p+sqrt(r*r+w*w/4)]。贪心策略在lrj的入门经典里有非常详细的叙述。这里简单说一下,就是已经覆盖的区间全部排除不考虑,然后在剩下的区间中选择能覆盖的最远的那个即可。这里我用的是优先队列的方式实现的。#include #incl原创 2013-03-26 22:45:47 · 467 阅读 · 0 评论 -
杂题专项:LA 5842
苦想无果,看了题解才勉强明白……用dp[i][st]表示选择了i个equipment所决定的属性的状态(i#include #include #include #include using namespace std;#define M 10010int n,k;int a[M][5],dp[6][1<<5];int main(){ freopen("in.txt",原创 2013-05-15 21:16:10 · 498 阅读 · 0 评论 -
杂题专项:UVa 818
这题太抽了,完全看不懂题目。模仿UVa论坛上的思路勉强把这题过了,虽然后来有点懂了,但说起来着实费劲,就直接贴代码吧。#include #include #include #include #include #include using namespace std;int n;string str;int g[20][20];int vis[20];int bitcoun原创 2013-06-02 12:34:29 · 1000 阅读 · 2 评论 -
杂题专项:UVa 11627
先将垂直的速度排序,然后二分答案即可。至于如何判断当前速度能否完成所有障碍,就是将第一个gate分别向左、向右延伸相应的距离,与下一个gate重叠的部分为下一个gate的范围,如此向下重复上述步骤,最后重叠区间不为空,则能完成所有障碍。#include #include #include #include using namespace std;const double eps=1e原创 2013-07-03 23:11:54 · 655 阅读 · 0 评论