貪心常見操作 排序 堆 微擾
區間貪心常按左右端點排序,一般左居多
因為按左排序後,對於第i個區間 其後區間一定左端點在其後
不用考慮第i個區間前面是否能插乙個小區間了
用堆做這題實際上是加速找棚的過程
#include
#include
#include
#include
using
namespace
std;
#define debug(x) cerr << #x << "=" << x << endl;
const
int inf = 0x7fffffff - 10;
const
int maxn = 50010;
int n,maxt,size,ans,ansp[maxn];
struct adec[50010];
struct stall
};priority_queue q;
bool cmp(ade a, ade b)
int main()
sort(c+1,c+n+1,cmp);
q.push((stall));
ans = 1;
ansp[c[1].id] = 1;
for(int i=2; i<=n; i++) );
ansp[c[i].id] = ans;
} else );
ansp[c[i].id] = q.top().id;
q.pop();}}
printf("%d\n",ans);
for(int i=1; i<=n; i++)
printf("%d\n",ansp[i]);
return
0;}
洛谷 P1233 貪心
一堆木頭棍子共有n根,每根棍子的長度和寬度都是已知的。棍子可以被一台機器乙個接乙個地加工。機器處理一根棍子之前需要準備時間。準備時間是這樣定義的 第一根棍子的準備時間為1分鐘 如果剛處理完長度為l,寬度為w的棍子,那麼如果下乙個棍子長度為li,寬度為wi,並且滿足l li,w wi,這個棍子就不需要...
洛谷P1684 考驗(貪心)
貪心 盡可能的在已經連線起來的詩歌後面接上新的詩歌 新建乙個last儲存上次匹配串的末尾的後乙個字元 每當當前點的位置到last的長度大於四,有可能成為新串的時候 暴力判斷是否可以成為詩歌,若成功更新答案和last 我們用f i 表示以i結尾的詩歌數 所以每次更新是f last 1 1 若不成功f ...
洛谷p1233 sort 貪心
題目描述 一堆木頭棍子共有n根,每根棍子的長度和寬度都是已知的。棍子可以被一台機器乙個接乙個地加工。機器處理一根棍子之前需要準備時間。準備時間是這樣定義的 第一根棍子的準備時間為1分鐘 如果剛處理完長度為l,寬度為w的棍子,那麼如果下乙個棍子長度為li,寬度為wi,並且滿足l li,w wi,這個棍...