线段树
文章平均质量分 78
wangzhen_yu
奋斗!向前!弱者为何而战?!
展开
-
hdu2795 Billboard(线段树)
题目:hdu2795 Billboard 题意:有一个h*w的公告板,现在将依次给你n个1*wi的海报,每次都要在不覆盖其他海报的前提下贴到最上且最左(要求先最上再最左)。问每张海报在第几行,贴不下的请输出-1; 题解:本题用线段树解决,每个节点有三个值:l,r,maxx;节点的[l,r]代表从第l行到第r行中最大剩余宽度为maxx。 线段树的思路:所有思路都是从暴力原创 2015-05-08 13:28:08 · 504 阅读 · 0 评论 -
hdu 1166 敌兵布阵(线段树入门第一题)
题目:hdu1166 敌兵布阵 题意:有N个兵营,每个兵营都给出了人数ai(下标从1开始),有四种命令: (1)”Add i j",表示第i个营地增加j人。 (2)“Sub i j”,表示第i个营地减少j人。 (3)“Query i j",查询第i个营地到第j个营地的总人数。 (4)”End“,表示命令结束。 这题用线段树来做,比暴力优化很多,注意用scanf会比用cin效率提原创 2015-05-06 09:24:38 · 531 阅读 · 0 评论 -
hdu1754 I Hate It(线段树)
题目:hdu1754 Hate It 题意:给你N个数(对应编号依旧是1--n),M个操作,操作分两类: (1)"Q i j“,查询区间[i,j]内的最大值。 (2)"U i j",将第i个数的值改成j。 1A,没有坑。 代码: #include struct linetree{int lft,rit,maxx; }; struct linetree t[800原创 2015-05-06 09:32:33 · 368 阅读 · 0 评论 -
hdu1394 Minimum Inversion Number
题目:hdu1394 Minimum Inversion Number 题意:给你一个由0~n-1组成的一个序列,你每次操作可以将第一个数移到最后一个,问这个序列的逆序数最小是多少。 就是求出原本序列的逆序数即可,因为是将第一位数字移到最后一位,所以逆序数改变多少只与这个数字的大小和n有关,令现在序列的逆序数用s来表示,第一位是a,一共有n个数字,那么操作一次后,s=s+n-1-2*a原创 2015-05-06 17:33:19 · 397 阅读 · 0 评论