上一页 1 ··· 3 4 5 6 7 8 9 下一页
摘要: "题目链接" Step1 朴素DP 阅读全文
posted @ 2020-01-27 11:44 zhuzihan 阅读(97) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 以下内容引用自_Yunluo_ 的博客, "原文链接" 每个点拆成4个 蓝色虚线的边长度为0,橙色实线的边长度为1 然后再在节点中连边,像下图那样 最后建一个超级起点和超级终点,超级起点向原起点的四个节点连边(dis=0),原终点的四个节点向超级中电加边(dis=0) 跑最短路 各组节 阅读全文
posted @ 2020-01-27 11:30 zhuzihan 阅读(219) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 数据范围告诉我们需要一个$O(n^2)$级别的做法 首先朴素DP Step 1 $dp[i][...]$表示前$i$个球和每种颜色的球放了多少个 显然我们必须要记录每种颜色的球放了多少才能完美解决,因此枚举放到第几个球是不行的 Step 2 $dp[..]$表示每种颜色的球放了多少个 阅读全文
posted @ 2020-01-27 11:09 zhuzihan 阅读(97) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 比较明显的分类讨论题 考虑最大的得分 首先我们尽量要多赢,所以干脆一场里把输掉的球全部输掉,其他场就只赢一球,这样显然最优 然后注意三点 1. 我们的赢球数够不够每场都赢一球 2. 如果赢球数有多,有没有可能每局都赢 3. 有没有可能输球数为0,最后一场平局 考虑最小的得分 我们要尽量 阅读全文
posted @ 2020-01-27 10:26 zhuzihan 阅读(143) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 本题与我的 "树状数组进阶" 有类似之处,基本上思路完全一样 我们对$SS[i]$进行分析 $$ S[i]=\sum_{k=1}^{i} A[k] $$ $$ SS[i]=\sum_{k=1}^{i} S[k] $$ $$ SS[i]=\sum_{k=1}^{i} \sum_{j=1} 阅读全文
posted @ 2020-01-22 11:46 zhuzihan 阅读(87) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 本题目有两种做法:平衡树和树状数组 其实这两种做法有异曲同工之妙 树状数组 我们在原来的数组两端分别再接一段数组 变成: $_,_,_,_,_,_,_,_,_,_,1,3,2,7,5,8,10,4,9,6,_,_,_,_,_,_,_,_,_,_$ 我们维护两个信息 ,Pos数组和a数组 阅读全文
posted @ 2020-01-22 11:25 zhuzihan 阅读(107) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 题目大意: 我们有一个环状的数列,内有n个元素,现在其中找一长度不超过k的连续子序列,使值最大. 分析: 原数组断环为链: $A_1$..$A_n$ = $A_1$.. $A_n A_{n+1}$..$A_{n+k}$ 考虑一段连续的子序列的值就是前缀和相减的形式 我们得到前缀和数组 阅读全文
posted @ 2020-01-21 15:14 zhuzihan 阅读(82) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 这道题与HH的项链几乎一模一样,好吧根本就是一样的 思路:我们考虑统计区间内有多少互不相同的数,然后与区间长度比较 进一步思考: 考虑把区间分类,按照右端点分为n类,然后考虑怎么快速算每一类的答案 当我们考虑到第r类区间时,我们仅考虑前r个数 由于区间的右端点均为r,所以所有的区间都是 阅读全文
posted @ 2020-01-21 14:40 zhuzihan 阅读(94) 评论(0) 推荐(0) 编辑
摘要: "题目链接" dp[i][j][k] 表示 到第i局,总共变化 j次, 最后出 k的最多赢次数 枚举前一局的出的手 t, 考虑与前一局有没有变化即可转移 非常朴素的DP [Code] 阅读全文
posted @ 2020-01-21 09:55 zhuzihan 阅读(159) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 竟然是IOI的题目!我惊了! 结论,每只鞋子,找最近的去匹配,就是最优的 证明见 "木木 !的博客" 我们于是有朴素算法 先将鞋子按照左右脚分类,再按值分类 然后从后往前依次配对所有鞋子 首先能配对的鞋子必定在它之前的,所以只用找对应的vector里的最后一只,然后坐标减一减就是贡献, 阅读全文
posted @ 2020-01-20 18:48 zhuzihan 阅读(208) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 下一页