[bzoj3712][PA2014]Fiolki】的更多相关文章

题目描述 化学家吉丽想要配置一种神奇的药水来拯救世界.吉丽有n种不同的液体物质,和n个药瓶(均从1到n编号).初始时,第i个瓶内装着g[i]克的第i种物质.吉丽需要执行一定的步骤来配置药水,第i个步骤是将第a[i]个瓶子内的所有液体倒入第b[i]个瓶子,此后第a[i]个瓶子不会再被用到.瓶子的容量可以视作是无限的.吉丽知道某几对液体物质在一起时会发生反应产生沉淀,具体反应是1克c[i]物质和1克d[i]物质生成2克沉淀,一直进行直到某一反应物耗尽.生成的沉淀不会和任何物质反应.当有多于一对可以发…
居然是一道图论题 毫无思路 我们对于每一次的融合操作 $(a,b)$ 建一个新点$c$ 并向$a,b$连边 再将$b$瓶当前的位置赋成$c$ 这样子我们就可以建成一个森林 现在枚举每一种反应$M_i$ 看他在森林里是否存在$lca$ 存在就相当于会在$lca$处发生反应 因为有反应的顺序 我们对$lca$排序后先做$lca$深度大的 深度相同就先做$M$的$id$小的 这样就满足题意了 我交了半天 居然是因为倍增数组写错了 真菜o(╥﹏╥)o #include<bits/stdc++.h> u…
description 题面 data range \[ 0\le m<n\le 200000,0\le k\le 500000\] solution 之前本人一直煞笔地思考暴力是否可行 考虑按照操作关系直接构树,之后按照每个反应中两点在树上的\(lca\)深度排序 最后依次考虑每个反应即可 虽然说建出来的也是个\(Kruskal\)重构树 code 没有按质合并的并查集都能过 #include<bits/stdc++.h> #include<algorithm> #incl…
Fiolki bzoj-3712 PA-2014 题目大意:题目链接. 注释:略. 想法: 神题! 我们建树:对于一次倾倒操作,我们弄一个新的大瓶子作为两个合并瓶子的父亲节点,与两个瓶子相连. 对于一个给定的化学反应,显然他们在这棵又操作构成的森林中他们的LCA处实现. 所以我们对于所有的操作直接建树. 我们枚举所有的反应,每个反应对应两个物质的LCA.我们将反应按照对应LCA的深度为第一关键字,反应的优先级为第二关键字排序. 紧接着我们顺次枚举所有的反应,统计答案并将相应物质剩余量相减即可.…
3712: [PA2014]Fiolki Time Limit: 30 Sec  Memory Limit: 128 MBSubmit: 303  Solved: 67[Submit][Status][Discuss] Description 化学家吉丽想要配置一种神奇的药水来拯救世界.吉丽有n种不同的液体物质,和n个药瓶(均从1到n编号).初始时,第i个瓶内装着g[i]克的第i种物质.吉丽需要执行一定的步骤来配置药水,第i个步骤是将第a[i]个瓶子内的所有液体倒入第b[i]个瓶子,此后第a[i…
[PA2014]Fiolki 题目大意: 有\(n(n\le2\times10^5)\)种不同的液体物质和\(n\)个容量无限的药瓶.初始时,第\(i\)个瓶内装着\(g_i\)克第\(i\)种液体.\(m(m\le2\times10^5)\)次操作,第\(i\)个操作是将第\(a_i\)个瓶子内的所有液体倒入第\(b_i\)个瓶子,此后第\(a_i\)个瓶子不会再被用到. 其中,有\(k(k\le5\times10^5)\)对液体物质在一起时会发生反应产生沉淀,具体反应是\(1\)克\(c_i…
[BZOJ3712]Fiolki(并查集重构树) 题面 BZOJ 题解 很神仙的题目. 我们发现所有的合并关系构成了一棵树. 那么两种不同的东西如果产生反应,一定在两个联通块恰好联通的时候反应. 那么,我们按照并查集的合并顺序,类似于克鲁斯卡尔重构树的方法构建一个并查集重构树, 发现所有的反应恰好在两者的\(LCA\)处发生, 所以把所有可以发生的翻译拿出来, 按照\(LCA\)的深度为第一关键字,反应的优先级为第二关键字排序. 然后按顺序依次计算答案就好了. #include<iostream…
3712: [PA2014]Fiolki Time Limit: 30 Sec  Memory Limit: 128 MBSubmit: 437  Solved: 115[Submit][Status][Discuss] Description 化学家吉丽想要配置一种神奇的药水来拯救世界. 吉丽有n种不同的液体物质,和n个药瓶(均从1到n编号).初始时,第i个瓶内装着g[i]克的第i种物质.吉丽需要执行一定的步骤来配置药水,第i个步骤是将第a[i]个瓶子内的所有液体倒入第b[i]个瓶子,此后第a…
http://www.lydsy.com/JudgeOnline/problem.php?id=3712 题意:n个瓶子,第i个瓶子里又g[i]克物质.m次操作,第i次操作把第a[i]个瓶子的东西全部倒到第b[i]个瓶子里(保证之后不出现a[i]).k种反应,其中c[i]和d[i]反应,而且如果一个瓶子里有多种反应则优先反应靠前的.每次反应对答案贡献为min(g[i], g[i])*2(m<n<=200000, k<=500000) #include <bits/stdc++.h&…
Description 化学家吉丽想要配置一种神奇的药水来拯救世界.吉丽有n种不同的液体物质,和n个药瓶(均从1到n编号).初始时,第i个瓶内装着g[i]克的第i种物质.吉丽需要执行一定的步骤来配置药水,第i个步骤是将第a[i]个瓶子内的所有液体倒入第b[i]个瓶子,此后第a[i]个瓶子不会再被用到.瓶子的容量可以视作是无限的.吉丽知道某几对液体物质在一起时会发生反应产生沉淀,具体反应是1克c[i]物质和1克d[i]物质生成2克沉淀,一直进行直到某一反应物耗尽.生成的沉淀不会和任何物质反应.当有…
(这篇我就不信有网站来扣) 这个暑假打算刷刷题啥的 但是写博客好累啊  堆一起算了 隔一段更新一下.  7月27号之前刷的的就不写了 , 写的累 代码不贴了,可以找我要啊.. 2017.8.27update : 开学了终于搞到了550  可还行 *数据结构 *可持久化线段树/主席树 *bzoj3932 [CQOI2015] 任务查询系统 : 比较裸的主席树,任务查分一下就好了  cqoi真良心 *bzoj4026 dC Loves Number Theory :  数论个头啊,对每个数分解质因数…
3712: [PA2014]Fiolki Time Limit: 30 Sec  Memory Limit: 128 MB Description 化学家吉丽想要配置一种神奇的药水来拯救世界.吉丽有n种不同的液体物质,和n个药瓶(均从1到n编号).初始时,第i个瓶内装着g[i]克的第i种物质.吉丽需要执行一定的步骤来配置药水,第i个步骤是将第a[i]个瓶子内的所有液体倒入第b[i]个瓶子,此后第a[i]个瓶子不会再被用到.瓶子的容量可以视作是无限的.吉丽知道某几对液体物质在一起时会发生反应产生沉…
Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem 10983 18765 Y 1036 [ZJOI2008]树的统计Count 5293 13132 Y 1588 [HNOI2002]营业额统计 5056 13607 1001 [BeiJing2006]狼抓兔子 4526 18386 Y 2002 [Hnoi2010]Bounce 弹飞绵羊 43…
传送门 Bzoj 解题思路 构造法. 对于每一次的倾倒操作,连边 \(newnode\to u,newnode\to v\). 最后所有的反应都会在构造出来的树上的对应两点的 \(\text{LCA}\) 处发生. 把所有的反应按照 \(\text{LCA}\) 深度排序,深度相同则按输入顺序排序,模拟一下就好了. 记得用并查集判连通性,还有树剖LCA跑得比倍增LCA快多了. 细节注意事项 咕咕咕. 参考代码 #include <algorithm> #include <iostream…
3721: PA2014 Final Bazarek Time Limit: 20 Sec  Memory Limit: 128 MBSubmit: 645  Solved: 261[Submit][Status][Discuss] Description 有n件商品,选出其中的k个,要求它们的总价为奇数,求最大可能的总价. Input 第一行一个整数n(1<=n<=1000000),表示商品数量.接下来一行有n个整数,表示每件商品的价格,范围在[1,10^9].接下来一行有一个整数m(1&l…
3709: [PA2014]Bohater Time Limit: 5 Sec  Memory Limit: 128 MBSec  Special JudgeSubmit: 1050  Solved: 352[Submit][Status][Discuss] Description 在一款电脑游戏中,你需要打败n只怪物(从1到n编号).为了打败第i只怪物,你需要消耗d[i]点生命值,但怪物死后会掉落血药,使你恢复a[i]点生命值.任何时候你的生命值都不能降到0(或0以下).请问是否存在一种打怪顺…
[PA2014]KuglarzTime Limit: 20 Sec Memory Limit: 128 MBSubmit: 553 Solved: 317[Submit][Status][Discuss]Description 魔术师的桌子上有n个杯子排成一行,编号为1,2,…,n,其中某些杯子底下藏有一个小球,如果你准确地猜出是哪些杯子,你就可以获得奖品.花费c_ij元,魔术师就会告诉你杯子i,i+1,…,j底下藏有球的总数的奇偶性.采取最优的询问策略,你至少需要花费多少元,才能保证猜出哪些杯…
3709: [PA2014]Bohater Time Limit: 5 Sec  Memory Limit: 128 MBSec  Special JudgeSubmit: 653  Solved: 220[Submit][Status][Discuss] Description 在一款电脑游戏中,你需要打败n只怪物(从1到n编号).为了打败第i只怪物,你需要消耗d[i]点生命值,但怪物死后会掉落血药,使你恢复a[i]点生命值.任何时候你的生命值都不能降到0(或0以下).请问是否存在一种打怪顺序…
3715: [PA2014]Lustra Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 237  Solved: 149[Submit][Status] Description Byteasar公司专门外包生产带有镜子的衣柜.刚刚举行的招标会上,有n个工厂参加竞标.所有镜子都是长方形的,每个工厂能够制造的镜子都有其各自的最大.最小宽度和最大.最小高度.镜子不可以旋转.如果存在某家工厂满足这样的条件:其他所有工厂能够制造的镜子,它都能够制造.那么这…
3709: [PA2014]Bohater Time Limit: 5 Sec  Memory Limit: 128 MBSec  Special JudgeSubmit: 339  Solved: 109[Submit][Status] Description 在一款电脑游戏中,你需要打败n只怪物(从1到n编号).为了打败第i只怪物,你需要消耗d[i]点生命值,但怪物死后会掉落血药,使你恢复a[i]点生命值.任何时候你的生命值都不能降到0(或0以下).请问是否存在一种打怪顺序,使得你可以打完这…
3713: [PA2014]Iloczyn Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 206  Solved: 112[Submit][Status] Description 斐波那契数列的定义为:k=0或1时,F[k]=k:k>1时,F[k]=F[k-1]+F[k-2].数列的开头几项为0,1,1,2,3,5,8,13,21,34,55,…你的任务是判断给定的数字能否被表示成两个斐波那契数的乘积. Input 第一行包含一个整数t(1<=t…
斐波那契数列<10^9的数很少很少...所以直接暴力枚举就行了... ------------------------------------------------------------- #include<cstdio> #include<algorithm> #include<cstring> #include<iostream>   #define rep( i , n ) for( int i = 0 ; i < n ; ++i )…
3713: [PA2014]Iloczyn Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 327  Solved: 181[Submit][Status][Discuss] Description 斐波那契数列的定义为:k=0或1时,F[k]=k:k>1时,F[k]=F[k-1]+F[k-2].数列的开头几项为0,1,1,2,3,5,8,13,21,34,55,…你的任务是判断给定的数字能否被表示成两个斐波那契数的乘积. Input 第一行包含一个…
[PA2014]Parking 题目大意: 停车场是一个宽度为\(w(w\le10^9)\)的矩形.我们以其左下角顶点为原点,坐标轴平行于矩形的边,建立直角坐标系.停车场很长,我们可以认为它一直向右边伸展到无穷远处. 总共有\(n(n\le5\times10^4)\)辆车.车都是边平行于坐标轴的矩形,大小可能不同.你可以将车在停车场内任意地平移,且不能互相重叠. 告诉你每辆车目前的位置和目标位置,求是否可以通过移动达到目标状态. 思路: 如果两辆车路线必定会相交,且两辆车宽度加起来大于\(w\)…
[PA2014]Budowa 题目大意: 有A和B两名候选人.共有\(n(n\le1000)\)个人参加投票.他们之间形成了一个树结构,树上的结点有两种身份:专家(叶子结点)或领导(非叶子结点).每位专家都有自己的选择--支持A和B之中的一个:每位领导都有若干个下属(子结点),领导的选择决定于下属中人数较多的那一方,下属的数目保证为奇数,从而不会出现平局状况.最后,根结点的选择即为选举结果. 目前仍有一些专家处于犹豫未决的状态,只要前去游说,就可获得他的支持.每人每天只能选择游说一名专家.A先开…
[PA2014]Matryca 题目大意: 有一堵长度为\(n(n\le10^6)\)的墙需要刷漆,你有一把长度为\(k\)的刷子.墙和刷子都被均匀划分成单位长度的小格,刷子的每一格中都沾有某种颜色的漆.你需要用这把刷子在墙上所有\(n-k+1\)个位置都刷一遍.如果墙上的某一格被不同颜色的漆刷过,那么它会呈现混合色. 现在墙上某些格子需要刷成给定的颜色,而另一些格子不不需要.求出能够完成任务的最短的刷子长度\(k\). 思路: 求出每个格子向左扩展的最远的长度\(l_i\),答案就是\(\ma…
[BZOJ3716][PA2014]Muzeum(贪心,网络流) 题面 BZOJ 题解 很明显可以写最大权闭合子图,然后会\(TLE\)成傻逼. 为了方便,就把一个警卫能够看到的范围处理一下(把坐标系处理一下),强制让他看到一个\(90°\)的夹角,再旋转一下就可以变成强制看到右下角的范围. 我们知道最大权闭合子图求出来的最小割=最大流. 那么我们来模拟这个过程,首先把所有警卫加入进来,其流量为贿赂他的代价.按照\(x\)轴排序之后,把所有它能够看到的宝物拿进来,然后考虑向谁流,会流向他能够看见…
[PA2014]Zadanie 题目大意: 一棵\(n(n\le3\times10^5)\)个点的树,每个点上有\(a_i\)个人.树上所有人到\(i\)号点距离之和为\(b_i\).已知\(\{b_i\}\),求\(\{a_i\}\). 思路: 以\(1\)号点为根,定义\(par[i]\)为\(i\)的父结点,\(size[i]\)为\(i\)子树内总人数,\(tot\)为总点数.则有: \[b_i=b_{par[i]}+tot-2size[i]\] 移项,得: \[b_i-b_{par[i…
[PA2014]Żarówki 题目大意: 有\(n(n\le5\times10^5)\)个房间和\(n\)盏灯,你需要在每个房间里放入一盏灯.每盏灯都有一定功率\(p_i\),每间房间都需要功率不小于\(w_i\)的灯泡才可以完全照亮. 你可以去附近的商店换新灯泡,商店里所有正整数功率的灯泡都有售.但由于背包空间有限,你至多只能换\(k\)个灯泡. 你需要找到一个合理的方案使得每个房间都被完全照亮,并在这个前提下使得总功率尽可能小. 思路: 贪心,将房间按\(w_i\)从大到小排序.找到最小的…
[PA2014]Lustra 题目大意: 有n个工厂参加竞标.每个工厂能生产长度在\([a_i,b_i]\)之间,宽度在\([c_i,d_i]\)之间的镜子,镜子不可以旋转. 问是否有某个工厂能生产出其它所有工厂能生产的镜子. 思路: 查询是否有某个工厂,\(a_i,c_i\)最小,\(b_i,d_i\)最大即可. 源代码: #include<cstdio> #include<cctype> #include<algorithm> inline int getint()…