上一页 1 ··· 23 24 25 26 27 28 29 30 31 ··· 81 下一页
摘要: 比赛链接:Here 1559A. Mocha and Math 题意: 给定一个区间,选择区间内的值执行 & 操作使得区间最大值最小化 观察样例发现:令 x = (1 << 30) - 1 后 \(x\&a_0\& a_1\&...a_{n-1} =\) 答案 证明: 我们假设答案是 x。 在它的二 阅读全文
posted @ 2021-08-16 12:12 RioTian 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 题目链接:Here ABC水题, D - Sum of Maximum Weights 上图中最大权 \(9\) 对答案的贡献是这条边两边的连通块的 size 的乘积再乘以 9 受到上面的启发,我们可以把每条边按边权大小从小到大排序。对于每条边(边权记为 \(w\)),先求出当前边连接的两个 gro 阅读全文
posted @ 2021-08-15 16:08 RioTian 阅读(206) 评论(0) 推荐(0) 编辑
摘要: AcWing 3734. 求和 其实这道题并不难,只是思维性很强! 因为 \(a\) 的各个数位不包含除了 \(4\) 和 $7$​ 以外的其他数字。 仔细观察数据会发现因为 \(1\le l \le r\le 10^9\) 中符合条件的其实不会很多, 所以可以选择 DFS 打表把所有符合条件的枚举 阅读全文
posted @ 2021-08-12 19:55 RioTian 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 本次 5 道题均来自Codeforce 关于树形DP的算法讲解:Here 791D. Bear and Tree Jumps 如果小熊每次能跳跃的距离为1,那么问题变为求树上任意两点之间距离之和。 对于每一条边sum1和sum2分别表示边的左右点数,ans=各边的sum1*sum2之和即为答案。 而 阅读全文
posted @ 2021-08-12 16:49 RioTian 阅读(898) 评论(0) 推荐(0) 编辑
摘要: A - AAA POJ - 3321 给你一颗树,支持两种操作 1.修改某一节点的权值 2.查询子树的权值(子树中节点的个数) 很显然可以用树状数组/线段树维护 B - BBB CodeForces - 978A 存一下出现次数即可 int a[100], st[1100]; int main() 阅读全文
posted @ 2021-08-12 10:30 RioTian 阅读(72) 评论(0) 推荐(0) 编辑
摘要: 自从多校后心憔悴啊,发现DP还是太水了,有一场的区间DP竟然不会做,咳,果然是赤裸裸的水军。 花了几天时间写了几道区间DP的题目,大部分都是水题,然后和以前的合并起来就是KB区间DP这个8 + 1道题的专辑,大家可以试着AK。 区间DP是一类在区间上进行动态规划的最优问题,一般是根据问题设出一个表示 阅读全文
posted @ 2021-08-11 18:58 RioTian 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 题目链接:Here 题意: 给定 $n$​​ 个点的坐标,先问这些点能否组成一个凸包,如是凸包,问用不相交的线来切这个凸包使得凸包只由三角形组成,根据 $cost_{i, j} = |x_i + x_j| * |y_i + y_j| % p$​​​​算切线的费用,问最少的切割费用。 解题思路:参考于 阅读全文
posted @ 2021-08-11 16:31 RioTian 阅读(115) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2021-08-10 14:15 RioTian 阅读(16) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2021-08-10 13:59 RioTian 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 这一场好神奇!能AK了 AB水题, C - One Quadrillion and One Dalmatians 把一个数字转化为字母,规则为 \([1,26]\) 对应 \([a,z]\) , 27 对应 aa ..... 循环至 N = 0即可,转26进制 int main() { cin.ti 阅读全文
posted @ 2021-08-09 16:56 RioTian 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 前置知识:分块。 朴素的打表,指的是在比赛时把所有可能的输入对应的答案都计算出来并保存下来,然后在代码里开个数组把答案放里面,直接输出即可。 注意这个技巧只适用于输入的值域不大(如,输入只有一个数,而且范围很小)的问题,否则可能会导致代码过长、MLE、打表需要的时间过长等问题。 Sample Des 阅读全文
posted @ 2021-08-09 14:33 RioTian 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 最大最小问题:优先考虑二分答案 dp 最短路 涉及到取与不取考虑背包 多组数据时一定记得每次初始化/清空数组和队列等 而且初始化时不乱用 memset 因为很慢。 一定要考虑答案是否具有单调性(有很多计数题可能符合条件的数也是具有单调性的) 记住:scanf效率远大于cin.因此尽量使用scanf( 阅读全文
posted @ 2021-08-09 10:27 RioTian 阅读(75) 评论(0) 推荐(0) 编辑
摘要: A - Xor Sum 似乎是很明显的字典树问题(不会啊,最后搬了一个板子修修改改以后才过了 AcWing 相似题目:143. 最大异或对 最后得吐槽一下 memset 为什么能这么慢啊 Kora! 改手动初始化之后从 TLE 降到 500ms const int MAXN = 100005; in 阅读全文
posted @ 2021-08-09 10:19 RioTian 阅读(61) 评论(0) 推荐(0) 编辑
摘要: 问题链接:Here 长度为 \(N\) 的数列 \(A_1,…,A_N\) 。回答满足以下条件的长度 \(N\) 的数列 \(X_1,…,X_N\) 的个数除以 \(998244353\) 的余数。 \(1\le X_i \le A_i\) \(X_i \not = X_{i + 1}\) \(2\ 阅读全文
posted @ 2021-08-08 21:15 RioTian 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 最近学习和写了一个 mint 的板子 ,其中用到了 noexcept 关键字,对这个关键字不太熟悉,便学习一下刘毅学长的文章。 C++98 中的异常规范(Exception Specification) throw 关键字除了可以用在函数体中抛出异常,还可以用在函数头和函数体之间,指明当前函数能够抛 阅读全文
posted @ 2021-08-08 17:02 RioTian 阅读(7850) 评论(0) 推荐(0) 编辑
上一页 1 ··· 23 24 25 26 27 28 29 30 31 ··· 81 下一页