设为首页 加入收藏

TOP

HDU 1698 Just a Hook (线段树区间更新)(一)
2015-07-20 17:51:02 来源: 作者: 【 】 浏览:6
Tags:HDU 1698 Just Hook 线段 区间 更新


Problem Description In the game of DotA, Pudge’s meat hook is actually the most horrible thing for most of the heroes. The hook is made up of several consecutive metallic sticks which are of the same length.

\


Now Pudge wants to do some Z??http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcGVyYXRpb25zIG9uIHRoZSBob29rLjxicj4KPGJyPgpMZXQgdXMgbnVtYmVyIHRoZSBjb25zZWN1dGl2ZSBtZXRhbGxpYyBzdGlja3Mgb2YgdGhlIGhvb2sgZnJvbSAxIHRvIE4uIEZvciBlYWNoIG9wZXJhdGlvbiwgUHVkZ2UgY2FuIGNoYW5nZSB0aGUgY29uc2VjdXRpdmUgbWV0YWxsaWMgc3RpY2tzLCBudW1iZXJlZCBmcm9tIFggdG8gWSwgaW50byBjdXByZW91cyBzdGlja3MsIHNpbHZlciBzdGlja3Mgb3IgZ29sZGVuIHN0aWNrcy48YnI+ClRoZSB0b3RhbCB2YWx1ZSBvZiB0aGUgaG9vayBpcyBjYWxjdWxhdGVkIGFzIHRoZSBzdW0gb2YgdmFsdWVzIG9mIE4gbWV0YWxsaWMgc3RpY2tzLiBNb3JlIHByZWNpc2VseSwgdGhlIHZhbHVlIGZvciBlYWNoIGtpbmQgb2Ygc3RpY2sgaXMgY2FsY3VsYXRlZCBhcyBmb2xsb3dzOjxicj4KPGJyPgpGb3IgZWFjaCBjdXByZW91cyBzdGljaywgdGhlIHZhbHVlIGlzIDEuPGJyPgpGb3IgZWFjaCBzaWx2ZXIgc3RpY2ssIHRoZSB2YWx1ZSBpcyAyLjxicj4KRm9yIGVhY2ggZ29sZGVuIHN0aWNrLCB0aGUgdmFsdWUgaXMgMy48YnI+Cjxicj4KUHVkZ2Ugd2FudHMgdG8ga25vdyB0aGUgdG90YWwgdmFsdWUgb2YgdGhlIGhvb2sgYWZ0ZXIgcGVyZm9ybWluZyB0aGUgb3BlcmF0aW9ucy48YnI+CllvdSBtYXkgY29uc2lkZXIgdGhlIG9yaWdpbmFsIGhvb2sgaXMgbWFkZSB1cCBvZiBjdXByZW91cyBzdGlja3MuPGJyPgoKIAo8YnI+CklucHV0ClRoZSBpbnB1dCBjb25zaXN0cyBvZiBzZXZlcmFsIHRlc3QgY2FzZXMuIFRoZSBmaXJzdCBsaW5lIG9mIHRoZSBpbnB1dCBpcyB0aGUgbnVtYmVyIG9mIHRoZSBjYXNlcy4gVGhlcmUgYXJlIG5vIG1vcmUgdGhhbiAxMCBjYXNlcy48YnI+CkZvciBlYWNoIGNhc2UsIHRoZSBmaXJzdCBsaW5lIGNvbnRhaW5zIGFuIGludGVnZXIgTiwgMTw9Tjw9MTAwLDAwMCwgd2hpY2ggaXMgdGhlIG51bWJlciBvZiB0aGUgc3RpY2tzIG9mIFB1ZGdloa9zIG1lYXQgaG9vayBhbmQgdGhlIHNlY29uZCBsaW5lIGNvbnRhaW5zIGFuIGludGVnZXIgUSwgMDw9UTw9MTAwLDAwMCwgd2hpY2ggaXMgdGhlIG51bWJlciBvZiB0aGUgb3BlcmF0aW9ucy48YnI+Ck5leHQgUSBsaW5lcywgZWFjaCBsaW5lIGNvbnRhaW5zIHRocmVlIGludGVnZXJzIFgsIFksIDE8PVg8PVk8PU4sIFosIDE8PVo8PTMsIHdoaWNoIGRlZmluZXMgYW4gb3BlcmF0aW9uOiBjaGFuZ2UgdGhlIHN0aWNrcyBudW1iZXJlZCBmcm9tIFggdG8gWSBpbnRvIHRoZSBtZXRhbCBraW5kIFosIHdoZXJlIFo9MSByZXByZXNlbnRzIHRoZSBjdXByZW91cyBraW5kLCBaPTIgcmVwcmVzZW50cyB0aGUgc2lsdmVyIGtpbmQgYW5kIFo9MyByZXByZXNlbnRzCiB0aGUgZ29sZGVuIGtpbmQuPGJyPgoKIAo8YnI+Ck91dHB1dApGb3IgZWFjaCBjYXNlLCBwcmludCBhIG51bWJlciBpbiBhIGxpbmUgcmVwcmVzZW50aW5nIHRoZSB0b3RhbCB2YWx1ZSBvZiB0aGUgaG9vayBhZnRlciB0aGUgb3BlcmF0aW9ucy4gVXNlIHRoZSBmb3JtYXQgaW4gdGhlIGV4YW1wbGUuPGJyPgoKIAo8YnI+ClNhbXBsZSBJbnB1dAoKPHByZSBjbGFzcz0="brush:java;">1 10 2 1 5 2 5 9 3
Sample Output
Case 1: The total value of the hook is 24.


题目意思:就是给一个n个位置(1~n),刚开始每一个位置价值赋值为1,后来跟新一段的值 例如 1 5 2 表示把1~5的位置全部变成价值为2,最后输出1~n所有位置价值和


不好理解的地方是pushdown()函数,例如输入1,n 2,我标记1到n是一样的价值(f[pos].va=1),又输入1 3 1时,我需要吧

前面的2传递给4到n,再更新1~3


不懂就好好理解吧,都是那么苦逼过来的




#include
  
   
#include
   
     #include
    
      #include
     
       #define L(x) (x<<1) #define R(x) (x<<1|1) #define MID(x,y) ((x+y)>>1) using namespace std; #define N 100005 int a[N]; struct stud{ int le,ri; int cover; int va; }f[N*4]; void pushdown(int pos) { if(f[pos].cover) { f[L(pos)].va=f[R(pos)].va=f[pos].va; f[L(pos)].cover=f[R(pos)].cover=1; f[pos].cover=0; } } void build(int pos,int le,int ri) { f[pos].le=le; f[pos].ri=ri; f[pos].va=1; f[pos].cover=1; if(le==ri) return ; int mid=MID(le,ri); build(L(po
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C++设计模式之模板方法模式 下一篇HDOJ 3669 Cross the Wall

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·C++ 语言社区-CSDN社 (2025-12-24 17:48:24)
·CSDN问答专区社区-CS (2025-12-24 17:48:22)
·C++中`a = b = c`与` (2025-12-24 17:48:19)
·C语言结构体怎么直接 (2025-12-24 17:19:44)
·为什么指针作为c语言 (2025-12-24 17:19:41)