上一页 1 ··· 3 4 5 6 7 8 9 下一页
摘要: K短路,A 新鲜出炉的A A 是什么,其实就是bfs,只不过加了一个估价函数h(x),并把队列换成了优先队列。令h(x)==已经花费的代价,f(x)=g(x)+h(x),,那么f(x)就是优先队列的比较标准。这样我们就会尽可能向最优解的方向搜索,我们如果想要求最优解,就跑A ,每次扩展状态,压入队列 阅读全文
posted @ 2018-09-22 11:41 Splitor 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 矩阵快速幂+倍增floyd 这道题十分神啊,floyd与矩阵快速幂(思想)结合。 矩阵快速幂的原理与普通快速幂一样,因为矩阵乘法满足交换律。 而这道题是让我们求从s出发恰好经过k条边(k =1; } include include include include include include in 阅读全文
posted @ 2018-09-22 10:14 Splitor 阅读(123) 评论(0) 推荐(0) 编辑
摘要: tarjan缩点+最短路 这道题我想了一半的正解,就是缩点+DAG上考虑,之后图只有一种情况:1号点连着大量的点,大量的点连着1号点,部分能到达1号点的点连接着1号点能到达的部分点。转向就是要从1号点能到达的点过渡到能到达1号点的点。考虑spfa,在缩完点后的图上从1号点正向跑最大路,再建立一个反图 阅读全文
posted @ 2018-09-21 21:29 Splitor 阅读(181) 评论(0) 推荐(0) 编辑
摘要: spfa+dp; 显然,最短路上的公共路径一定是连续的。这道题我一开始too young too simple 地进行了暴力dp,结果T了。。。。。。 55分code: // luogu judger enable o2 include include include include include 阅读全文
posted @ 2018-09-21 09:39 Splitor 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 区间dp+最短路。 这一道题一开始没有思路,但观察了一下数据范围,果断大力dp。我们先用N^3logN 的复杂度预处理出 所有区间的最短路(就是区间内不改变路径的最短路),然后区间dp,dp转移方程为:f[i]=max(f[i],f[j]+k+(i j+1) cost[j,i]) (1 includ 阅读全文
posted @ 2018-09-21 06:56 Splitor 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 特殊的计数问题 这道题不同于之前,之前都是满足 条件的数有多少个,现在是统计某个小数字在所有的数字中出现了几次。 考虑暴力(以1为例子): 0 1 2 3 4 5 6 7 8 9 1 0 1 2 3 4 5 6 7 8 9 我们只要枚举每一位的每一种可能,然后记录组成的数中1出现了多少次,就可以了。 阅读全文
posted @ 2018-09-20 17:38 Splitor 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 我自己居然写对了!!!! 这道题目我们要充分考虑所有情况。首先要求三位连续的相同,我们开一个bool变量,来记录是否已经满足了条件。有一个小细节: if (len include include include include define int long long using namespace 阅读全文
posted @ 2018-09-20 17:37 Splitor 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 我真是太弱了!!!!!! 显然的数位dp,一开始我too young too simply的用dp[i][j]表示考虑到了第 i 位,且这一位的数是j的数量。但是,经过SMc的指点后,我发现这个沙雕的方程具有后效性,因为我们要保证每一位数与其相邻的数的绝对值之差大于等于2,我的做法就无法考虑下一位, 阅读全文
posted @ 2018-09-19 22:28 Splitor 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 大水题 我真是太蒟蒻了,这种水题居然20分钟没想出最优解,数据结构学傻了qwq 这道题直接二分能选到哪个订单,每次利用差分数组O(n)修改,O(n)查询,总复杂度nlogn。 收获:注意思维的锻炼,明天开始刷dp练思维 阅读全文
posted @ 2018-09-18 21:22 Splitor 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 线段树,枚举,暴力 ~~写的头皮发麻......~~ 对于每一次跑动(u,v)显然,我们需要对(u,lca),(lca,v)分别处理。为什么?考虑每个点 i 能得到的贡献,一种是从以它为根的子树跑上来,另一种是路径的终点在它的子树中。第一类:d[s] d[i]=w[i],得到式子:d[s]=d[i] 阅读全文
posted @ 2018-09-18 15:45 Splitor 阅读(187) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 下一页