BZOJ|BZOJ 1724 USACO 2006 Nov. 切割木板

BZOJ|BZOJ 1724 USACO 2006 Nov. 切割木板
文章图片

【BZOJ|BZOJ 1724 USACO 2006 Nov. 切割木板】BZOJ|BZOJ 1724 USACO 2006 Nov. 切割木板
文章图片

倒过来的合并果子?
做法与合并果子一样
维护一个小根堆,每次取出最小的两个数进行合并
BZOJ|BZOJ 1724 USACO 2006 Nov. 切割木板
文章图片
BZOJ|BZOJ 1724 USACO 2006 Nov. 切割木板
文章图片

1 #include 2 #include 3 #include 4 using namespace std; 5 int n; 6 long long ans=0; 7 struct cmp{ 8bool operator() (const int a,const int b)const{return a>b; } 9 }; 10 priority_queue,cmp>a; 11 void read(int &k){ 12int f=1; k=0; char c=getchar(); 13while (c<'0'||c>'9')c=='-'&&(f=-1),c=getchar(); 14while ('0'<=c&&c<='9')k=k*10+c-'0',c=getchar(); 15k*=f; 16 } 17 int main(){ 18read(n); 19for (int i=1; i<=n; i++){ 20int x; read(x); 21a.push(x); 22} 23for (int i=1; i
View Code
转载于:https://www.cnblogs.com/DriverLao/p/7691129.html

    推荐阅读