摘要:
题目 传送门 思路 考虑到平均数为n 即每一个数减去n之后,选出的数的平均数为0,即选出的数的求和为0 之后用bfs来暴力求解即可 这里主要考虑到搜索到的浓度实际上是只能在$-1000到1000$之间的, 总时间复杂度即为$O(n^2)$ 如果你和笔者一样不想卡细节,你也可以用map,时间复杂度为$ 阅读全文
posted @ 2020-07-27 22:15
loney_s
阅读(90)
评论(0)
推荐(0)
摘要:
题目 传送门 思路 其实我们只需要考虑生成树的情况就可以了 考虑到一个点不合法其实是可以向父亲传递其的不合法来使其合法这一点 考虑如果儿子让根不合法了,那么最后停在儿子上面即可 代码 #include<iostream> #include<cstdio> #include<vector> using 阅读全文
posted @ 2020-07-27 22:09
loney_s
阅读(94)
评论(0)
推荐(0)
摘要:
题目 传送门 思路 感觉这道题和2-SAT有点像 我们考虑确定第一个点是否翻转和这个联通块的整体颜色为蓝还是红 之后我们就可以直接用一个dfs来确定是否无解 具体表现为通过一个点来确定与他相连的点是不是必须翻转 考虑一条边,如果两个端点对于其他的边都必须翻,但是两个端点都翻转却会让当前这条边不合法 阅读全文
posted @ 2020-07-27 22:05
loney_s
阅读(101)
评论(0)
推荐(0)
摘要:
题目 传送门 思路 这题的主要难点在于我们不知道是三个起点分别在哪里 但是我们知道三条路径一定会交于某一个点 基于此,我们考虑枚举这一个点, 那么算法的复杂度就卡在这个点和三个王国的国土的最短路径上面 这个可以用bfs来预处理,$dis[k][i][j]\(第k个王国距离点\)(i,j)$的最短距离 阅读全文
posted @ 2020-07-27 21:58
loney_s
阅读(99)
评论(0)
推荐(0)
摘要:
题目 传送门 思路 一道还可以的折半搜索的题目 路径的长度必然为$n+m-1$ 如果直接暴力来做,时间复杂度即为$2^{n+m-1}$,必然会爆炸 但是考虑到$2^\frac{n+m-1}{2}$的复杂度可以接受,就可以用折半搜索 剩下的用一个map来存一下几个 代码 #include<iostre 阅读全文
posted @ 2020-07-27 21:42
loney_s
阅读(146)
评论(0)
推荐(0)
摘要:
题目 传送门 思路 如果暴力背包必然会T, 但是机房巨佬JZM好像直接用DP过了 我们考虑,如果只有1和2两种重量 我们可以用一个$log$来处理出答案 先用重量为2暴力填入背包, 我们考虑将价值最小的一个重量为2的推出背包意味着价值最大的两个重量为1的物品价值之和大于重量为2的最小价值 这很显然是 阅读全文
posted @ 2020-07-27 21:37
loney_s
阅读(119)
评论(0)
推荐(0)
摘要:
题目 传送门 思路 如果交换一次和交换零次都很容易实现 这里主要讨论交换两次的情况 我们设$s_1$为$a$数列的和,$s_2$为$b$数列的和 我们考虑交换两个数,实际上是变成$s_1-a_-a_+b_+b_$和$s_2-b_-b_+a_+a_$ 同时两个数列的总和是不变的,所以一个数列的和越接近 阅读全文
posted @ 2020-07-27 21:31
loney_s
阅读(200)
评论(0)
推荐(0)

浙公网安备 33010602011771号