随笔分类 - Ex-其他
摘要:*C:Product Modulo fft...不会... *D:Twin Binary Trees 先手玩吧。。。其实是每一对叶子都会有一条路径。 我试图寻找一种使用乘法和加法原理的实现方式。 tmd,考虑暴力是 $2^DD^2$ 的。但是,很多组点他们在两个树中的 lca 都是一样的。不妨合并计
阅读全文
摘要:link A:如何愉快地与方格玩耍 开质数、合数的线段树维护即可。 B:陵陵曾玩的位运算题 一种暴力是在 trie 树上搞,$ans=2^{c_0}$。 还有种暴力是容斥后枚举超集,$ans=3^{c_1}$。 你想到了什么?平衡复杂度取最小值!!!! 所以想不出正解有可能是几个暴力拼起来。 当然可
阅读全文
摘要:E - Red and Blue Graph 算是一眼秒的。 第一感觉是有可能和图长什么样没有关系。 发现重要信息:「偶数」。想到异或起来为 $0$。发现 “两个端点颜色不同”也可以转化为异或。 于是本题只和度数有关。简单排列组合即可。 F - Erase and Rotate 思路不难,细节有一些
阅读全文
摘要:T1 link (大)模拟。。。 打了 1h,调了很久。。。 我觉得应该一句一句读,可以高亮标记一下。。。 坑点: 会有负数,所以向下取整不能 “/2”。 输出注意 “0”。 T2 (SPJ) 乱打的。。。过了。。。原来是《签到题》啊。 充分发挥人类智慧。发现 gggg...zzzz..g/z 似乎
阅读全文
摘要:Pro 1 经典贪心,列出 $1$ 在 $2$ 前,和 $2$ 在 $1$ 前的条件,发现可以比较。 Pro 2 我先猜它是个单峰函数。 单峰函数交单峰函数还是单峰,所以证完了。 但是有 $\mathcal {O}(n)$ 的做法: 首先 $|sum|$ 最大可以转化为 $\max {pre_i}-
阅读全文
摘要:E 一个背包一眼题。 先暴力算出每条边经过的次数,然后大力01背包,注意次数为 \(0\) 也要做背包。 这里我刚开始的做法时每次 \(dp[i]=dp[i+x]+dp[i-x]\),但这样还需要将数组扩大一倍,很麻烦,而且要起来。 #include <cstdio> #include <algor
阅读全文
摘要:图论专场? 前言 A、B 略。 C 考场上用了 20min A了这道题,其中 12min 都在理解题意,我在线谢谢出题人我的英语。/wx 转 \(4\) 次。每次判断两矩形是否平移后相同即可。 判断也很简单,分别将两个矩形的左上角靠在 \((1,1)\),看看他们是不是完全一样。 #include
阅读全文
摘要:降智了( A、B、C、D 略。 E 降智了。 一开始发现可以用树状数组+queue(que)做掉。具体地,每次加入点在que中,如要排序,就将que中的点全部插入树状数组。询问的时候,在树状数组上二分(只是我懒打了个2log),有的话输出删掉,否则就输出、删掉que.front()。 考完发现自己降
阅读全文
摘要:D 逆向思维,考虑一条边被多少条路径作为答案。 很套路吧,想到每次找到图中最大的边,断开,它的贡献为两边联通块的大小相乘再乘它的权值。反着来,每次用最小的边连接两个块,用并查集维护。 #include <cstdio> #include <algorithm> #include <cmath> #i
阅读全文
摘要:来看以下例题:令 \(a_i\) 为 \(\sum_{j \subsetneq i}a_j\)。你会说,这简单啊,枚举子集直接 \(\mathcal O(3^n)\)。 好的,有没有什么更优秀的算法呢?引入高维前缀和。就比如我们要求一个三维的前缀和,需要写一个比较长的容斥式,并且扩展到多维转移的时间
阅读全文
摘要:C 发现是个经典的括号匹配。 D emm... 想到按左端点排序。一个很直接的想法,对于第 \(i\) 段区间,前 \(i-k+1\) 段区间右端点的最大值会与它的左端点构成一个小区间,最后将这些区间合并即可。值得一提的是,在这之前你要将被包含的区间删掉,不然会出现错误,这显然。(emm...考试时
阅读全文
摘要:D 不难的。 两个点的的关系要么是左上-右下,要么是左下-右上,然后拆绝对值(这是拆绝对值的很经典做法),用个前缀最小值维护即可。 值得一提的是,若这题要求在线做,需要用线段树/树状数组/二维线段树/二维树状数组。 E 这题本质上是求 \(n\) 个点的最小生成树,但由于 \(nm\leq 10^{
阅读全文
摘要:link 感悟:其实,一道题不妨从样例入手。 C 考场上 dfs “水过去” 的(感觉可以剪掉很多枝,常数 \(\frac{1}{500}\)),考后发现是正解(? 至于证明,现在不想理解,以后来填吧。 #include <cstdio> #include <algorithm> #include
阅读全文
摘要:ABC168 ABC172 ABC168 E ∙ (Bullet) 模拟赛时看错式子降智了。。。我是sb。 很显然吧,想到把带有 \(i\) 的式子独立出来。 则 \(\frac {A_i} {B_i}=-\frac {B_j} {A_j}\)。由于这个东西是有交换律的,即 \(\frac {A_j
阅读全文
摘要:link A \(ans=max(0,b-a+1)\) B \(\sum a[i]-n/2>=k?\) C 降智了,一直想容斥,,,浪费了10min。 其实很简单,按 \(a[i]\) 从小到大排序后,由于前面选数一定会使后面能选的数少 \(1\),所以 \(ans=\sum (a[i]-i+1)\
阅读全文