摘要:
题目大意: 在一个2维平面上有两条传送带,每一条传送带可以看成是一条线段 两条传送带分别为线段AB和线段CD 在AB上的移动速度为P,在CD上的移动速度为Q,在平面上的移动速度R 从A点走到D点,最少需要走多长时间 思路: 两个三分套起来搞 1 #include<iostream> 2 #inclu 阅读全文
摘要:
T1:loj 6029 市场 题目大意: 维护一个数据结构支持区间加 区间除法 区间求最小值 区间求和 思路: 用线段树维护区间加 区间求最小值 区间和 对于区间除法 注意到除数d很大而加法的w很小 尝试将区间除法变成区间减法 可以转化成减法的情况就是除法的时候减的数相同即区间内所有数相同或最小数和 阅读全文
摘要:
点双。 1 #include<iostream> 2 #include<cstdio> 3 #include<cstdlib> 4 #include<cstring> 5 #include<cmath> 6 #include<algorithm> 7 #include<queue> 8 #inclu 阅读全文
摘要:
题目大意: N 个村庄,由 M 条道路连接 其中一些道路是鹅卵石路,而其它道路是水泥路 求一个方案使保留尽可能少的道路,但是两个不同的村庄之间都应该由一条且仅由一条免费道路的路径连接且刚好保留K条鹅卵石路 思路: 并查集 先将所有水泥路都加入并查集中 然后找到那些必须被加入的鹅卵石路 再补上其他的鹅 阅读全文
摘要:
题目大意: 一个有向图,有些点可以作为终点,每个点有权值,每个点和边可以走很多遍,点走过之后再走点权不会计入分数 从一个点开始,求一个路径使这条路径的分数最大且终点是给定的点之一 输出这个路径长度 思路: 首先tarjan缩点 然后在新图上用spfa跑最长路(开始非常naive以为用dfs就可以 1 阅读全文
摘要:
题目大意: 已知N个正整数 将它们分成M组,使得各组数据的数值和最平均,即各组的均方差最小 求最小均方差 思路: 模拟退火 1 #include<iostream> 2 #include<cstdio> 3 #include<cmath> 4 #include<cstdlib> 5 #include 阅读全文
摘要:
bjoi 2018 染色 推了个错误结论得了60分? 题目大意: 一个无重边和自环的无向图,并且对每个点分别给了一个大小为2的颜色集合,只能从这个集合中选一种颜色给这个点染色 求一个染色方案使得没有两个有边相连的点被染了相同的颜色 求是否无论颜色集合是什么,均有办法按照要求染色 思路: 1 #inc 阅读全文
摘要:
bjoi 2018 求和 唯一一道可能切的题一个数组还没开long long就成0分了 题目大意: 一棵有根树,并且希望多次询问这棵树上一段路径上所有节点深度的k次方和,而且每次的k可能是不同的 此处节点深度的定义是这个节点到根的路径上的边数 思路: 考试的时候随便写了个树剖 剖下来之后搞五十个次方 阅读全文
摘要:
题目大意: 一个序列看做一个环 选两段数使它们和最大 思路: 定义一个dp数组i j 0/1 表示前i个取了连续的j段 0/1表示取不取第i个 但是因为看做一个环 首尾相接的情况可以看做是选三段,其中第一个和最后一个必须取 然后dp就好了 1 #include<iostream> 2 #includ 阅读全文
摘要:
题目大意: 一些人,每个人的身高都是不一样的 然后再给你一个k,表示这个人的左边或者右边,有k个人比他高 然后让你构造一个满足条件且字典序最小的序列 思路: 按照权值排序 这样每次加进去后只有后面的才会比它大 加的时候需要在前面或后面留出k个空间 选出位置靠前的那个加入使字典序最小 如果两个位置都被 阅读全文