上一页 1 ··· 26 27 28 29 30 31 32 33 34 ··· 39 下一页
摘要: 题目大意:给定一个 N 个点,M 条边的有向图,求每个点能够到达的节点的最大编号是多少。 题解:因为题中所给图不一定是一个 DAG,因此无法进行按照拓扑序来动态规划,需要另辟蹊径。由于求的是每个节点能够到达的最大编号,因此可以考虑反向建图,并依次从大到小枚举节点编号,将该节点能够到达的节点修改为当前 阅读全文
posted @ 2018-11-29 20:18 shellpicker 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给定 N 种不同种类的硬币,每种硬币的重量范围在一个可变区间内,但是价值恒定,求给定一个重量 W,求有多少种面值不同的组合方式。 题解:如果硬币的重量恒定,那么就是一道裸的完全背包问题。因此, 可以先将给定的硬币拆分成多个重量不同的硬币。 总的来说,这道题所求的是目标状态有多少种可能的解, 阅读全文
posted @ 2018-11-29 16:14 shellpicker 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给定一个长度为 N 的序列,求这个序列中等差数列的个数。 题解:根据题意应该是一道序列计数 dp。设 $dp[i][j]$ 表示以第 i 项结尾,公差为 j 的等差数列的个数,则状态转移方程为 $dp[i][d]=\sum\limits_{j=1}^{i 1} dp[j][d]$。由于一个 阅读全文
posted @ 2018-11-29 12:23 shellpicker 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 题目大意:列出从一个给定上界的双平方数集合中选出若干个数,组成长度为 N 的等差数列的首项和公差。 题解:首先,因为是在双平方数集合上的等差数列,而且根据题目范围可知,上界不超过 2e5,可以先打表,将符合条件的双平方数存入一个数组,并排序离散化。 在等差数列中,只要数列中的前两项确定,整个数列就会 阅读全文
posted @ 2018-11-29 11:07 shellpicker 阅读(355) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给定 N 个整数组成的集合,向集合中添加一个整数,使得这 N+1 个整数组成等差数列,求这样的整数有多少个。 题解: 引理1:若原集合中只有一个元素,则有无数种可能。 引理2:若原集合中有且仅有两个整数,则最多可能有 3 种答案。 引理3:若原集合已经能够组成等差数列,则只能在序列首尾添加 阅读全文
posted @ 2018-11-28 22:06 shellpicker 阅读(194) 评论(0) 推荐(0) 编辑
摘要: map支持以下功能: 1. size():查询 map 中的 key 的个数 2. empty():判空 3. clear():清空 4. insert()/erase():插入/删除 5. find(x):查找 key 为 x 的键值对,若不存在,返回末尾迭代器(时间复杂度为 $O(n logn) 阅读全文
posted @ 2018-11-28 21:59 shellpicker 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 题目大意:维护一个有 N 个元素的序列,支持以下操作:区间加,区间询问均值,区间询问方差。 题解:可知区间均值和区间和有关,即:维护区间和就等于维护了区间均值。区间方差表达式为 $$\frac{\Sigma_{i=1}^n(a[i] aver)^2}{n}$$,化简之后可知还需维护区间的平方和。 这 阅读全文
posted @ 2018-11-28 20:10 shellpicker 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给定一个 N(N using namespace std; const int maxn=110; int n,ans=1,a[maxn]; void read_and_parse(){ scanf("%d",&n); for(int i=1;i 阅读全文
posted @ 2018-11-28 15:55 shellpicker 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给定两个有 N 个数字的序列,从这两个序列中任取一个数相加,共有 $N^2$ 个和,求这些和中最小的 N 个。 题解:由于数据量是 10W,必须减少每次选取的决策集合中元素的个数。可以发现,将两个序列的元素排好序之后,固定 i 时,对于任意的 j define fi first defin 阅读全文
posted @ 2018-11-28 11:32 shellpicker 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给定一个有 N 个数的集合,将这 N 个数均分成两堆,求差值最小是多少。 题解:有关集合选数的问题,应该是背包问题,同时要求均分可知,选出的物品数目也应该是背包费用的一个维度,因此这是一个多维费用背包问题。设状态 $dp[i][j][k]$ 表示考虑了前 i 个数字,已经选了 j 个数字, 阅读全文
posted @ 2018-11-27 20:30 shellpicker 阅读(686) 评论(0) 推荐(0) 编辑
上一页 1 ··· 26 27 28 29 30 31 32 33 34 ··· 39 下一页