摘要: 题目描述 政府邀请了你在火车站开饭店,但不允许同时在两个相连接的火车站开。任意两个火车站有且只有一条路径,每个火车站最多有50个和它相连接的火车站。 告诉你每个火车站的利润,问你可以获得的最大利润为多少。 输入格式 第一行输入整数N(N≤100000),表示有N个火车站,分别用1,2,... ,N来 阅读全文
posted @ 2019-10-03 22:42 kma_093 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 题目链接: "走这里" 题目分析: 考虑绝对值的几何意义,显然$b$里的数一定在$a$里出现过 离不离散化问题不大,用下标作第二位状态就行 设$dp[i][j]$表示第$i$个数,高度为$a[j]$时的最优解 方程见代码 代码: cpp include define int long long de 阅读全文
posted @ 2019-10-03 17:12 kma_093 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 题目链接: "翻转棋" 题目分析: 先状压/$dfs$枚举第一排状态,然后在每个$1$下面翻,即确定了第一排就确定了后面的状态 最后验证一下最后一排是不是全0即可 代码: cpp include define N 50 using namespace std; inline int read() { 阅读全文
posted @ 2019-10-03 17:05 kma_093 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 题目链接: "垃圾陷阱" 题目分析: $dp$,思路和题解大部分有点区别,建议按洛谷题解写,这个有点丑 看成$0/1$背包之后发现是菜题 先假设牛把有命吃到的垃圾全都食下去了,然后记成生命值按时间消耗 设$dp[i][j]$表示处理到第$i$个垃圾,生命值还剩$j$时的最高高度 具体方程看代码,懒得 阅读全文
posted @ 2019-10-03 16:55 kma_093 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 题目链接: "奶酪" 题目分析: 并查集维护联通,最好乘起来防止掉精度 代码: cpp include define int long long define eps 1e 8 define N (5000 + 10) using namespace std; inline int read() { 阅读全文
posted @ 2019-10-03 16:30 kma_093 阅读(135) 评论(0) 推荐(0) 编辑