OJ-BZOJ
文章平均质量分 59
tianxiang971016
ztx97
blog.ztx97.win(希望有生之年搭起来
展开
-
[BZOJ1576] [Usaco2009 Jan]安全路经Travel
题意NN点MM边,N−1N-1头牛从11沿最短路径走到对应的2...N2...N这N−1N-1个点。询问避开牛经过的最后一条边到达相应点的最短路径长度。输出这N−1N-1个长度。题解我们暂且称避开最短路最后一条边的路径为“次短路”(不是真正的次短路)。 首先将最短路经过的最后一条边都求出来,这些边将形成一棵以1为根的树。 考虑到达点u的答案。若避开点u与fa[u]中的这条边,那么次短路必然是从点原创 2017-08-02 22:52:15 · 299 阅读 · 0 评论 -
[BZOJ1367] [Baltic2004]sequence
题意给定一个序列t1,t2,…,tNt_1,t_2,\dots,t_N,求一个递增序列z1<z2<⋯<zNz_1<z_2<\cdots<z_N,使R=|t1−z1|+|t2−z2|+⋯+|tN−zN|R=|t_1-z_1|+|t_2-z_2|+\dots+|t_N-z_N|最小。输出R的值。N≤106N\le 10^6题解这道题是黄源河2005年国家集训队《左偏树的特点及其应用》中的例题,里面有严谨原创 2017-08-02 22:14:52 · 377 阅读 · 0 评论 -
[BZOJ3779] 重组病毒
这题考了两遍 QAQAQAQ第一遍还是我懵懂无知的时候,不知道换根怎么搞,就打的跟染色那题似的用LCT直接维护。第二遍临近noi一个月的现在,LCT+dfs序线段树就可以了,但是手残打跪了。题目抽象为这个模型有一棵n个节点的树,每个节点有一个颜色,初始每个节点颜色不相同,且以节点1为根。定义每个点的权值为这个点到根的路径上不同颜色的个数。现在进行m次操作,每次操作为下列三种之一:原创 2015-06-14 15:05:10 · 1500 阅读 · 0 评论 -
[BZOJ3996] [TJOI2015]线性代数
题目要求 ans=Maximize∑i=1NA1,i⋅⎛⎝∑j=1NA1,j⋅Bi,j−C1,i⎞⎠ans = Maximize\quad\sum_{i=1}^{N} A_{1,i}\cdot\left(\sum_{j=1}^{N}A_{1,j}\cdot B_{i,j}-C_{1,i}\right) 方法一 直接推到最小割 因为目标函数最大化,所以先将其转为最小化 令 sum=∑i=1原创 2015-06-04 19:35:57 · 887 阅读 · 0 评论 -
[BZOJ3635] [NEERC2006] ASCII Art
看到这道题我就想起了怎样求任意多边形面积,方法是沿着多边形叉积一圈加和取绝对值减半. 还记得证明是将每一条边的两个端点向下做垂线,得到nn个梯形,这些梯形面积有正有负,最后加加减减的就得到多边形面积辣. 于是这道题完全可以按照那个方法求面积嘛 n≤100n\le100,所以n3n^3不会超时 我本来以为这只算个暴力,但是在网上找了找,貌似叫梯形剖分?SMG? 总之可能还可以有些小优化吧,但原创 2015-06-04 19:45:56 · 574 阅读 · 0 评论 -
[BZOJ2171] K凹凸序列
题意一个序列的第1,3,5…项被称作奇数项,第2,4,6…项被称作偶数项。一个序列A[1..n]被称作ZigZag序列当且仅当以下两个条件中的一个(或两个)成立: 1)除了首项,所有的奇数项都比它的前项小且所有的偶数项都比它的前项大。 一个序列A[1..n]被称作K凹凸序列当且仅当它的最长ZigZag子序列(不一定是连续子序列)的长度不超过K。现在有一个序列A[1..n],每次可以花费1的代价原创 2017-08-02 23:12:59 · 402 阅读 · 0 评论 -
[BZOJ4003] [JLOI2015]城池攻占
题意有nn个城池组成树,根为11,mm个人,当一个人的战斗力sis_i大于等于攻打城市的防御力hih_i,就能攻占这个城市,来到这个城市的父节点,否则该人会牺牲在这个城市。当一个城市被攻占时,会使攻占的人的战斗力加或乘上某个数。现在给出m个人的最开始攻打的城市和初始战斗力,求在每个城市的牺牲人数和每个人一共攻打几个城市。其中每个人对某城市的攻击结果不影响他人,即A攻破了此城市,B也需攻打。题解很容易原创 2017-08-03 01:18:58 · 312 阅读 · 0 评论 -
[BZOJ2809] [Apio2012]dispatching
题意N个点形成一棵树。每个点三个属性父亲节点Bi、薪水Ci、领导力Li,现在选一些点,对这些点付薪水,同时另选一个点(可以是之前被付薪水的点)做管理者,使得被付薪水的点都在管理者的子树中。定义顾客的满意度为派遣的忍者总数乘以管理者的领导力水平,在预算M内使顾客的满意度最大。输出最大的满意度。题解相同的预算,薪水尽量少则选的点尽量多,于是每个子树中维护一个大根堆,不断删掉堆顶直到堆中元素的和不超过M,原创 2017-08-03 11:08:21 · 242 阅读 · 0 评论