摘要: 转载 :https://www.luogu.com.cn/blog/zhoushuyu/solution-p1043 题目链接 题目思路 总结一下这种类似DP题目的思路和技巧吧。 1、破环成链。没有太多的技巧性,具体而言就是把数据存储两遍,使得环形的数据可以链式展开,便于我们去DP。 但最后一定要记 阅读全文
posted @ 2021-01-23 21:28 hunxuewangzi 阅读(364) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目思路 显然是先操作加法,然后操作乘法 且每次操作肯定直接操作整个区间即可, 直接暴力枚举乘法次数,log的复杂度 然后加法满足二分又一个log的复杂度 check用求最大子段和O(n) 复杂度为$nlog_2^2n$ 代码 #include<bits/stdc++.h> using n 阅读全文
posted @ 2021-01-23 20:33 hunxuewangzi 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目思路 每行都是独立的 然后只能从开头和结尾取,显然就是区间dp 然后注意__int128输出是0特判 代码 #include<bits/stdc++.h> using namespace std; typedef __int128 ll; const int maxn=80+5,mod 阅读全文
posted @ 2021-01-23 15:44 hunxuewangzi 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目大意 给你一个n*n的方格图(n<=9),每个格子有权值 某人从图的左上角的 A 点出发,可以向下行走,也可以向右走,直到到达右下角的 B 点。在走过的路上,他可以取走方格中的数(取走后的方格中将变为数字 0)。 此人从 A 点到 B 点共走两次,试找出 2 条这样的路径,使得取得的数 阅读全文
posted @ 2021-01-23 13:14 hunxuewangzi 阅读(151) 评论(0) 推荐(0) 编辑