随笔分类 -  贪心

摘要:传送门 首先对于 $b>0$ 的工作显然有个贪心,把 $b>0$ 的按 $a$ 从小到大排序 把能做的都做了,然后得到一个最大等级 剩下就是考虑 $b<0$ 的工作了,看到数据显然可以 $O(nr)$ 考虑 $dp$,设 $f[i][j]$ 表示考虑完前 $i$ 个工作,当前等级为 $j$ 时能完成 阅读全文
posted @ 2019-09-20 13:00 LLTYYC 阅读(178) 评论(0) 推荐(0)
摘要:传送门 这是一道英语题,首先要读懂题目: $\text{Alex believes that his trip will be interesting only if he will not use any road twice in a row.}$ 这句话意思是不会连续走一条路,但是同一条路是可 阅读全文
posted @ 2019-09-20 12:42 LLTYYC 阅读(522) 评论(2) 推荐(0)
摘要:传送门 首先考虑怎样的集合一定是合法的 发现全部是奇数的集合一定合法,因为每次都是奇数连偶数,偶数连奇数 然后考虑如果集合同时有奇数和偶数是否一定不合法,结论是一定不合法,证明如下: 设某个奇数为 $2x+1$ ,某个偶数为 $2y$,那么 $0$ 到 $(2x+1)*(2y)$ 就有两种路线,$2 阅读全文
posted @ 2019-09-19 16:09 LLTYYC 阅读(633) 评论(0) 推荐(1)
摘要:传送门 首先显然的,如果 $l$ 能移动,那么 $r$ 一定可以随便移动,如果 $l$ 不动,那么 $r$ 一定不能动 那么我们现在只要考虑 $l$ 的移动即可 考虑找到位置 $k$ 之前的最左边的最小的字符,如果存在,先手可以直接把 $l$ 移过去,那么后手就没得走了 如果不存在,那么先手显然没得 阅读全文
posted @ 2019-09-19 15:48 LLTYYC 阅读(384) 评论(0) 推荐(0)
摘要:传送门 冷静分析容易发现,我们只要能确定一个数的值,所有值也就可以确定了 确定一个数的值很容易,$a_ia_j=M_{i,j},a_ia_k=M_{i,k},a_ja_k=M_{j,k}$ 然后就可以得到 $a_i=\sqrt {M_{i,j}*M_{j,k}/M_{j,k}}$ ,然后这一题就做完 阅读全文
posted @ 2019-09-19 15:37 LLTYYC 阅读(424) 评论(0) 推荐(0)
摘要:传送门 首先肯定要确定贪心走法,然后再考虑代价 首先注意到 $(x,y)$ 位置的值其实就是 $C(x+y,x)$ 的值 那么如果要从 $(0,0)$ 到 $(n,m)$,我们肯定不会往回走(不会跑出 $(n,m)$ 的矩形再绕回来) 归纳一下我们只要考虑往上和往右 不妨设 $m>n$ 注意到边缘的 阅读全文
posted @ 2019-09-18 08:39 LLTYYC 阅读(160) 评论(0) 推荐(0)
摘要:传送门 看到这种奇怪的要求,考虑一下推结论 考虑把路径上的点权拿出来排序,变成一个数列,那么显然我们只要考虑相邻连续的 $3$ 个数 发现如果我们贪心构造一个尽量无法构成三角形的数列,那么最小的数列就是斐波那契数列 众所周知斐波那契数列增长很快,第 $50$ 项显然远大于题目给出的点权范围,所以如果 阅读全文
posted @ 2019-09-18 08:21 LLTYYC 阅读(162) 评论(0) 推荐(0)
摘要:传送门 注意到 $a$ 的值的数量并不大,考虑状压 $dp$ 设 $f[S]$ 表示此时确定的数集合为 $S$ ,且按某种顺序从数列开头排列完成的最小交换次数 那么每个状态枚举最后一个填的数,加上代价后,取最小值即可 现在最大的问题是,代价怎么算...??? 注意到我们每次交换相邻的两个数,这两个数 阅读全文
posted @ 2019-09-17 11:38 LLTYYC 阅读(417) 评论(0) 推荐(0)
摘要:传送门 博弈,发现情况有点多,分析一下把有用的状态提取出来 显然各个位置的数字是没用的,我们只要知道两边的数字和分别是多少 并且状态显然和左右两边的 "?" 数量有关 因为最终我们只在意左右是否相等,即差值是否为 $0$ 所以两边的数字和分别是多少也不必要,我们只要知道两边数字的差即可 再分析一下, 阅读全文
posted @ 2019-09-17 11:21 LLTYYC 阅读(286) 评论(0) 推荐(0)
摘要:传送门 好像是个挺显然的贪心 首先每次交换当然要尽量一次交换就多两个相同的位置 即 优先把 $\begin{bmatrix}a\\ b\end{bmatrix}$ 和 $\begin{bmatrix}a\\ b\end{bmatrix}$ 交换 优先把 $\begin{bmatrix}b\\ a\e 阅读全文
posted @ 2019-09-17 11:05 LLTYYC 阅读(387) 评论(0) 推荐(0)
摘要:传送门 基环树的题当然先考虑树上怎么搞,直接求个直径就完事了 现在多了个环,先把非环上的直径(设为 $ans$)和环上节点 $x$ 到叶子的最大距离(设为 $dis[x]$)求出来 考虑到对于某种最优的方案,环上一定有某条边完全不用走 所以可以枚举断哪个边然后暴力,显然会 $T$ 飞 考虑能够快速求 阅读全文
posted @ 2019-09-17 10:57 LLTYYC 阅读(207) 评论(0) 推荐(1)
摘要:传送门 考虑到达某个点时的数长度要尽量短,那么可以把边长看成此边十进制下的位数 那么对于最终答案我们只要考虑最短路 $DAG$ 上的情况 又发现其实边长都很小,所以可以暴力拆边,把边权都拆成 $1$,这样就可以 $BFS$ 了 考虑最优情况,对于 $BFS$ 时同一层的点,要扩展到下一层,我们肯定要 阅读全文
posted @ 2019-09-16 12:01 LLTYYC 阅读(400) 评论(0) 推荐(0)
摘要:传送门 发现 $n$ 很小,考虑状压 $dp$,但是如果强行枚举列并枚举置换再转移复杂度太高了 考虑推推结论,发现我们只要保留列最大值最大的 $n$ 列即可,证明好像挺显然: 假设我们让列最大值比较小的列贡献给某一行,那么由抽屉原理发现这意味着列最大值排名前 $n$ 的某一列一定没对答案贡献, 此时 阅读全文
posted @ 2019-09-16 11:48 LLTYYC 阅读(344) 评论(0) 推荐(0)
摘要:传送门 考虑构建图论模型,每个客人看成边,菜看成点,那么每个客人连接他喜欢的两个菜 对于某个客人,如果他要开心,它连接的两点至少要有一个还未被选择 考虑一个显然的贪心,我们要尽量让每个客人只吃到一种菜 考虑构建一个生成树,每次从树上一个节点往外延伸,连向一个新的点,那之间的边就是新的一个客人 并且这 阅读全文
posted @ 2019-09-16 11:32 LLTYYC 阅读(337) 评论(0) 推荐(0)
摘要:传送门 考虑把 $sum$ 值相同的一起用快速幂计算 枚举 $sum=i$ ,然后可以用数位 $dp$ 求有多少小于 $n$ 的二进制下恰好有 $i$ 个 $1$ 的数的个数 注意不要把个数取模,因为个数是幂次 阅读全文
posted @ 2019-09-14 10:39 LLTYYC 阅读(152) 评论(0) 推荐(0)
摘要:传送门 首先对于斜率相同的直线,只要保留 $b$ 最大的那些 发现最后那些对答案有贡献的线段是下凹的 把直线按斜率从小到大排序,一条条加入,用单调栈维护当前有贡献的直线 如果当前考虑加入的线和倒数第二条线的交点横坐标小于它与最后一条线的横坐标 或者,当前直线的 $b$ 比上一条直线的 $b$ 大 那 阅读全文
posted @ 2019-09-13 10:57 LLTYYC 阅读(129) 评论(0) 推荐(0)
摘要:传送门 有回档操作,考虑离线,这样就知道最终的操作序列了 发现前面的操作会被后面覆盖,干脆直接从后往前操作,如果一个位置以前染色过了那就不用再染色 所以我们可以用 $n$ 个链表维护 $n$ 个行,操作过的位置直接从链表中删除即可 然后复杂度就是 $O(nm)$,代码中是用 $n$ 个并查集来维护行 阅读全文
posted @ 2019-09-13 10:38 LLTYYC 阅读(191) 评论(0) 推荐(0)
摘要:传送门 注意到关于次大值的要求,感觉直接搞不太行 考虑每个位置作为次大值时,可以包括的区间 设位置 $i$ 左边第一个大于它的数位置为 $l1$ ,第二个大于它的数位置为 $l2$ 设位置 $i$ 右边第一个大于它的数位置为 $r1$ ,第二个大于它的数位置为 $r2$ 如图所示: 那么我们可以最多 阅读全文
posted @ 2019-09-11 13:58 LLTYYC 阅读(163) 评论(0) 推荐(0)
摘要:传送门 一看题面就是高斯消元解 $dp$ 方程组,设 $f[x]$ 表示从起点到终点,经过节点 $x$ 的期望次数 那么对于一个点 $x$,枚举所有相连的边 $(x,v)$ ,其中 $v \neq n$,设节点 $v$ 的出度为 $du[v]$ ,那么有 $f[x]=\sum_{v}\frac {f 阅读全文
posted @ 2019-09-11 13:34 LLTYYC 阅读(159) 评论(0) 推荐(0)
摘要:传送门 A. Creating a Character 设读入的数据分别为 $a,b,c$ 对于一种合法的分配,设分了 $x$ 给 $a$ 那么有 $a+x>b+(c-x)$,整理得到 $x>(b+c-a)/2$ 因为 $x \in [0,c]$ ,所以求一下区间交的大小即可,注意 (b+c-a) 阅读全文
posted @ 2019-09-06 02:14 LLTYYC 阅读(283) 评论(0) 推荐(0)