bzoj 3714 [PA2014]Kuglarz 最小生成树】的更多相关文章

[PA2014]Kuglarz Time Limit: 20 Sec  Memory Limit: 128 MBSubmit: 1335  Solved: 672[Submit][Status][Discuss] Description 魔术师的桌子上有n个杯子排成一行,编号为1,2,…,n,其中某些杯子底下藏有一个小球,如果你准确地猜出是哪些杯子,你就可以获得奖品.花费c_ij元,魔术师就会告诉你杯子i,i+1,…,j底下藏有球的总数的奇偶性.采取最优的询问策略,你至少需要花费多少元,才能保证…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3714 如果用s[ i ]表示前 i 个的奇偶性,那么c(i_j)表示s[ i-1 ]^s[ j ].知道其中一个就能知道另一个. 已知s[ 0 ]=0.所以把 c 看成连边,从0能走到每个点就行.即求一个最小生成树. 然后跑得很慢地A了.也不知为何这么慢. #include<iostream> #include<cstdio> #include<cstring>…
参考:https://blog.csdn.net/aarongzk/article/details/48883741 没想到吧.jpg 来自题解: "如果用sum[i]表示前i个杯子底球的总数,那么知道一个c[i][j],等于是知道了sum[j]和sum[i-1]的差的奇偶性.而sum[0]的奇偶性是知道的,所以只需要知道所有sum[i]与sum[0]的差的奇偶性,就可以推出每个杯子是否有球." 所以这意味着什么呢,你需要直接或间接的知道sum[i]和sum[0]之间的关系,并且,知道…
Description 魔术师的桌子上有n个杯子排成一行,编号为1,2,-,n,其中某些杯子底下藏有一个小球,如果你准确地猜出是哪些杯子,你就可以获得奖品.花费c_ij元,魔术师就会告诉你杯子i,i+1,-,j底下藏有球的总数的奇偶性.采取最优的询问策略,你至少需要花费多少元,才能保证猜出哪些杯子底下藏着球? Input 第一行一个整数n(1<=n<=2000).第i+1行(1<=i<=n)有n+1-i个整数,表示每一种询问所需的花费.其中c_ij(对区间[i,j]进行询问的费用,…
3714: [PA2014]Kuglarz 链接 思路: 好题.对于每个点都需要确定它的值,那么一个点可以直接询问[i,i]来确定,或者已经知道了[i,j]和[i+1,j]推出来. 但是可能产生冲突,所以要增加一些限制.比如选了[1,1]和[2,2]就不能再选[1,2]了. 还有一个结论:答案一定是询问n次.这个在纸上画一下吧. 对于这些限制,刚好可以用生成树来做(树是不允许有环的),然后发现如果直接建图是不可以做的,需要将点化为边,在n+1个点中选n条边. 代码 #include<cstdio…
[BZOJ3714][PA2014]Kuglarz Description 魔术师的桌子上有n个杯子排成一行,编号为1,2,…,n,其中某些杯子底下藏有一个小球,如果你准确地猜出是哪些杯子,你就可以获得奖品.花费c_ij元,魔术师就会告诉你杯子i,i+1,…,j底下藏有球的总数的奇偶性.采取最优的询问策略,你至少需要花费多少元,才能保证猜出哪些杯子底下藏着球? Input 第一行一个整数n(1<=n<=2000).第i+1行(1<=i<=n)有n+1-i个整数,表示每一种询问所需的…
题意 \(n(1 \le n \le 2000)\)个数每个数是\(0\)或\(1\),现在可以花费\(c_{i, j}\)知道\([i, j]\)的奇偶性,问将所有数都找出来的最小花费. 分析 如果知道了所有的前缀和,那么我们就知道了所有数. 对于区间\([i, j]\),那么如果知道了\(sum[i-1]\),那么就知道了\(sum[j]\),连边.反之亦然. 最终其实我们就是将前缀和\(0\)到\(n\)都放到一个集合里,由于知道了前缀和\(0\)=0,所以就知道了所有数. 题解 所以问题…
题目传送门 题意:有$N$个盒子,每个盒子中有$0$或$1$个球.现在你可以花费$c_{i,j}$的代价获得$i$到$j$的盒子中球的总数的奇偶性,求最少需要多少代价才能知道哪些盒子中有球.$N \leq 2000 , 1 \leq c \leq 10^9$ 初赛凉了,乖乖回来更以前没写的blog qwq 设$s_i$为盒子中球数的前缀和$(s_0 = 0)$,那么我们花费$c_{i,j}$就是得到$s_{i-1}$与$s_j$的关系,而我们知道$s_i,s_j$与$s_j,s_k$的关系之后,…
[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底下藏有球的总数的奇偶性.采取最优的询问策略,你至少需要花费多少元,才能保证猜出哪些杯…
[PA2014]Kuglarz 题目大意: 有一个长度为\(n(n\le2000)\)的0/1串,你可以花\(c_{i,j}\)的钱,询问区间\([i,j]\)的异或和.问至少要多少元才能知道原来的序列. 思路: 最小生成树. 源代码: #include<cstdio> #include<cctype> #include<algorithm> inline int getint() { register char ch; while(!isdigit(ch=getcha…