BZOJ1105 [POI2007]石头花园SKA 贪心】的更多相关文章

[POI2007]石头花园SKA Time Limit: 20 Sec  Memory Limit: 162 MBSubmit: 776  Solved: 237[Submit][Status][Discuss] Description Blue Mary是一个有名的石头收藏家.迄今为止,他把他的藏品全部放在他的宫殿的地窖中.现在,他想将他的藏品陈列在他的花园中.皇家花园是一个边长为1000000000单位的平行于坐标轴的正方形.对于每个石头,Blue Mary都有一个他想放置的坐标,然后将他告…
考虑把所有石头翻到直线y=x同侧,此时可以保证篱笆长度最短. 这种最短的篱笆一共有4种可能,枚举每种可能然后$O(n)$检验求出答案即可. #include<cstdio> const int N=1000000,inf=~0U>>1; int n,i,x[N],y[N],w[N],lx=inf,rx,ly=inf,ry,ans=inf,now;bool v[N],fin[N]; inline void read(int&a){char c;while(!(((c=getc…
1105: [POI2007]石头花园SKA Time Limit: 20 Sec  Memory Limit: 162 MBSubmit: 628  Solved: 182[Submit][Status][Discuss] Description Blue Mary是一个有名的石头收藏家.迄今为止,他把他的藏品全部放在他的宫殿的地窖中.现在,他想将他的藏品陈列在他的花园中.皇家花园是一个边长为1000000000单位的平行于坐标轴的正方形.对于每个石头,Blue Mary都有一个他想放置的坐标…
Description Blue Mary是一个有名的石头收藏家.迄今为止,他把他的藏品全部放在他的宫殿的地窖中.现在,他想将他的藏品陈列在他的花园中.皇家花园是一个边长为1000000000单位的平行于坐标轴的正方形.对于每个石头,Blue Mary都有一个他想放置的坐标,然后将他告诉他的属下.不幸的是,他忘了告诉他们坐标的顺序(比如无法分辨(x,y)和(y,x)).属下们,就自己决定了每个石头的具体位置.为了保护他的藏品,Blue Mary决定建造一个篱笆来保护他们.为了美学的需要,篱笆也被…
题意 二维平面上有\(n(2 \le n \le 1000000)\)个点,可以花费\(w_i\)交换第\(i\)个点的横纵坐标.求在满足能覆盖所有点的最小矩阵周长最短的情况下花费最小. 分析 这题太神了.有一个结论是,所有点都会交换到\(y=x\)线的同一侧. 题解 所以我们暴力就行辣. #include <bits/stdc++.h> using namespace std; inline int getint() { int x=0, c=getchar(); for(; c<48…
[BZOJ2000][HNOI2000]取石头游戏(贪心,博弈论) 题面 BZOJ 洛谷 题解 这题好神仙啊,窝不会QaQ. 假装一下只有三个元素\(a_{i-1},a_i,a_{i+1}\),并且满足,\(a_{i-1}\le a_i\ge a_{i+1}\)那么肯定是\(a_{i-1}+a_{i+1}\).\(a_i\)这样子分配的.那么两个人的差就是\(a_{i-1}+a_{i+1}-a_i\),那么我们把\(i\)和旁边两个元素直接合并就好了,反正只要知道了两个人的差和所有元素之和就能还…
首先$C/2=x_{max}+y_{max}-x_{min}-y_{min}=max(x_{max},y_{max})-min(x_{min},y_{min})+min(x_{max},y_{max})-max(x_{min},y_{min})$,容易发现前两项都是定值,那么就是要最小化后面的数字构造:让所有数都满足$x\le y$,那么必然使得$min(x_{max},y_{max})$最小,$max(x_{min},y_{min})$最大,也就是令周长最小然后考虑最小化重量和,根据上面的构造…
P3210 [HNOI2010]取石头游戏 题目描述 A 公司正在举办一个智力双人游戏比赛----取石子游戏,游戏的获胜者将会获得 A 公司提供的丰厚奖金,因此吸引了来自全国各地的许多聪明的选手前来参加比赛. 与经典的取石子游戏相比,A公司举办的这次比赛的取石子游戏规则复杂了很多: l 总共有N堆石子依次排成一行,第i堆石子有 ai个石子. l 开始若干堆石子已被 A公司故意拿走. l 然后两个玩家轮流来取石子,每次每个玩家可以取走一堆中的所有石子,但有一个限制条件:一个玩家若要取走一堆石子,则…
先二分出一个x,我们要算使最近的跳跃距离>=x的最少移除数量是否<=M就可以了 然后就别dp了...贪心就完事了...我肯定能不移就不移比较好... #include<bits/stdc++.h> #define pa pair<int,int> #define lowb(x) ((x)&(-(x))) #define REP(i,n0,n) for(i=n0;i<=n;i++) #define PER(i,n0,n) for(i=n;i>=n0;i…
啊啊啊,这题有毒.我想了各种花式数据结构,最后告诉我贪心???受不了... 题干: Description Mary试图控制成都的天然气市场.专家已经标示出了最好的天然气井和中转站在成都的地图.现在需要将中转 站和天然气井连接起来.每个中转站必须被连接到正好一个钻油井,反之亦然. Mary特别指名,建设的天然气管 道必须从某个天然气井开始,向南或者向东建设.Mary想知道怎么连接每个天然气井和中转站,使得需要的天然气 管道的总长度最小. Input 第一行为一个正整数n(<=n<=),表示天然…