又是一道2-SAT裸题(读题比想题久/kk) /* m: 0 (i + 0 * n) h: 1 (i + 1 * n) */ #include <iostream> #include <cstdio> #include <cstring> using namespace std; const int ...
分类:
Web程序 时间:
2020-05-09 22:55:23
阅读次数:
62
算法 最小生成树 思路 我们把每个点看成一个部落,每次取最小距离的两个抱团,同时部落也减少了一个....然后减减减,直到部落数==目标数,此时下一个不同部落的距离就是最短的距离! 代码 #include<iostream> #include<cstring> #include<algorithm> ...
分类:
Web程序 时间:
2020-05-01 18:49:02
阅读次数:
70
"题面" 题解 说实话, 其实我也不知道这题正解是啥 你看着数据范围不像爆搜题 但是爆搜他就是可以过, 我也不知道为啥 奇葩 Code ...
分类:
Web程序 时间:
2020-02-04 11:03:48
阅读次数:
104
"题面" 题解 发现数据范围很小, 考虑从这上面入手 不难发现, 如果我们把所有边的长度排序, 将每条边选与不选看作一个 01 串 假设最优路径长度为 L , 必然存在一个 $K$ , 满足前 $1 \to K$ 都是 1 , 其他的随便 考虑枚举这个 $K$ 设 $f[i][j][k]$ 满足到 ...
分类:
Web程序 时间:
2020-02-04 10:21:57
阅读次数:
115
A 旅行 题面: "bzoj" 题解:神奇的$dp$ 先按长度把边排序 指定必须走前$l$条边,枚举$l$ 设$dis[i][j][k]$表示当前到了$i$节点,已走过了$j$条前$l$条边,用了$k$次交换次数 "code" B 找零钱的洁癖 题面: "bzoj" 题解:更为神奇 首先直接bfs, ...
分类:
Web程序 时间:
2020-02-01 23:40:49
阅读次数:
143
「JSOI2010」旅行 "传送门" 比较妙的一道 $\text{DP}$ 题,思维瓶颈应该就是如何确定状态。 首先将边按边权排序。 如果我们用 $01$ 串来表示 $m$ 条边是否在路径上,那么我们就可以通过钦定前 $x$ 条边在路径上来确定目标状态。 其中有的边消耗了魔法使用次数,有的没消耗。 ...
分类:
Web程序 时间:
2020-01-31 00:49:01
阅读次数:
66
"题目链接" 图论+DP的一道题,可以贪心地发现,要使路径最短,把路径按长度从小到大排序后,肯定会把前$fr$条路径安排到走的路径上,每次交换也是将前$fr$条路径与$fr$后的路径交换,至于$fr$为多少我们可以枚举$fr$,然后DP求出$ans$ 设$f[i][j][k]$表示从1走到$i$,在 ...
分类:
Web程序 时间:
2020-01-30 17:04:41
阅读次数:
84
"洛咕" 题意:有n种材料,每种材料可以被做成汉式菜肴和满式菜肴中的一种,有m个评委,每个评委喜欢两种菜肴(汉式和满式任意,材料任意),求能否做两个菜肴使得满足每个评委的至少一个条件.($n include include include include include include includ ...
分类:
Web程序 时间:
2019-10-12 11:06:18
阅读次数:
183
题目链接 这道题一看最小值最大,很容易被误导进二分答案的思路,但实际上并不需要二分答案。 其实正解是最小生成树,我们先预处理出原图的最小生成树,因为要分k个部落,所以我们先把最小的n-k边先全部选走。因为我们用kruskal的话要用到并查集,这样我们就可以判断他们是否在同一部落中。然后我们再枚举剩下 ...
分类:
Web程序 时间:
2019-10-06 20:54:07
阅读次数:
111
感觉方法和题解差不多,但是题解写的好烦啊...也不是烦,就是很复杂 这里建议开一个数组表示当前这个点选或者不选的编号,这样之后自己理思路也会清楚一点 然而我调了一个小时才发现我是Tarjan写错了...... 这道题对于每一个菜分两种情况讨论,每一种情况又有选和不选两种方案 所以相当于每一个菜可以拆 ...
分类:
Web程序 时间:
2019-10-06 15:10:56
阅读次数:
133