上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 20 下一页
摘要: #include <bits/stdc++.h> #define clog(x) std::clog << (#x) << " is " << (x) << '\n'; using ll = long long; // #include "include/izlyforever.hpp" names 阅读全文
posted @ 2022-08-26 13:01 hzy0227 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 贪心、逆序对 E - String Reversal 题意 给一个长度为 n 的字符串 s,(n <= 2e5), 把 s 反转后的字符串记为 s', 每次只可以交换相邻两个字符,求把 s 变为 s' 的最小次数 思路 可以从左到右枚举 s,对于当前位置 i,字符 a 要变成 字符 b,则较靠前的 阅读全文
posted @ 2022-08-14 19:18 hzy0227 阅读(19) 评论(0) 推荐(0) 编辑
摘要: LIS E - Make It Increasing 题意 给定数组 $a $, (n <= 5e5), 有一个集合 b ,b 里面存的是 a 数组的某些下标,这些位置的 a 的值不能改变 其余位置可花 1 代价变为任意一个整数,求让 a 变成严格单调递增的最小代价;若不可以则输出 -1 思路 有个 阅读全文
posted @ 2022-08-14 18:53 hzy0227 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 贪心、扫描线思想 D - Permutation Restoration 题意 有 $1-n$ 的一个排列 $a_i$, 给定 $b_i$, 满足 $b_i=\lfloor\frac i{a_i}\rfloor$, 求 $a_i$ (n <= 5e5) 思路 先解出每一个 $a_i$ 的取值区间,然 阅读全文
posted @ 2022-08-14 14:12 hzy0227 阅读(21) 评论(0) 推荐(0) 编辑
摘要: st表 or 后缀和 优化dp C - Robot in a Hallway 题意 有一个两行 n 列的网格,每个格子有一个解锁时间 $a[i][j]$ (注意这个是解锁的时间,最早到达该点的时间要 + 1), 过了这个时间才能走进这个格子。每秒可以选择上下左右移一格或者不动,求从 (0, 0) 出 阅读全文
posted @ 2022-08-13 15:49 hzy0227 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 前缀和优化DP Problem - D - Codeforces 题意 给定 n,k (1<= n, k <= 2e5), 若当前位置是 i,已经走了 j 次,则下一次只能走 j + k - 1 的倍数步; 求从 0 开始,走到 [1, n] 中每个位置的方案数 思路 先想一个朴素dp 设 $f[i 阅读全文
posted @ 2022-08-12 19:46 hzy0227 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 枚举 $[0,2^n-1]$ 子集 $O(n^3)$ for (int s = 0; s < 1 << n; s++) for (int ns = s; s; ns = (ns - 1) & s) 证明: 法1: 对于每一位 1. s = 0, ns = 0 2. s = 1, ns = 0, 1 阅读全文
posted @ 2022-08-01 18:44 hzy0227 阅读(23) 评论(0) 推荐(0) 编辑
摘要: Problem - C - Codeforces 题意 有 n ( n <= 36) 个点,每个点有颜色,每个颜色都相同的权值(为正数);有 m 条边,u -> v 且 u < v, 求从 1 号点到 i 号点的路径上,选颜色互不相同的一些点,使权值和最大 状压dp 首先可考虑 TSP 问题类似的状 阅读全文
posted @ 2022-08-01 18:30 hzy0227 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 2022杭电多校(1) K 签到 B(枚举、BFS/DFS) 由于数据范围很小,可以枚举存在的墙的状态, 对于每种状态,做一遍 bfs,看是否能搜到终点 由于点的坐标不是整数,边的坐标是整数,可以将坐标全部乘 2,这样判断两个点能否通过时不用考虑边界情况,做两次跨立实验即可 #include <io 阅读全文
posted @ 2022-07-22 14:14 hzy0227 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 飞行路线(分层图) JLOI2011] 飞行路线 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 最多有 k 条航线可以免费走,就让建 k + 1 层图,$dist[i][j]$ 表示从第 0 层起点经过 j 条免费航线到达第 i 结点,答案就是 $min(dist[t][j])$ 阅读全文
posted @ 2022-07-22 13:29 hzy0227 阅读(144) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 20 下一页