该文被密码保护。 阅读全文
posted @ 2021-10-10 21:38 艾特玖 阅读(11) 评论(0) 推荐(0)
摘要: 原题链接 分析 首先,我们可通过DFS处理出来,在沿着a数组给的顺序走时,每条边都经过了多少次。我们假设第i条边被经过的次数为$c_i$次,则问题可以转化为,从$c_1,c_2...c_{n-1}$中,分成两部分,使得一部分构成R,一部分构成B,从而使得R-B=K?我们设S=\(c_1+c_2+.. 阅读全文
posted @ 2021-10-10 10:07 艾特玖 阅读(298) 评论(0) 推荐(0)
摘要: 差分约束图解 差分约束主要解决问题 1.求不等式的可行解 原点需要满足的条件:从 源点 出发,一定可以走到所有的边。 步骤: 1.现将每个不等式 \(x_i \leq x_j+c_k\) ,转化为一条从$x_j$走到$x_i$,长度为$c_k$的一条边 2.找一个 超级源点 ,使得该源点一定可以 遍 阅读全文
posted @ 2021-10-08 20:25 艾特玖 阅读(52) 评论(0) 推荐(0)
摘要: 考试的最大困扰度 分析母题 通过简单的分析,我们可以发现如果,将T看做1,而F看做0,则问题就转化为另一个题目最大连续1的个数III,而这道题目是典型的利用滑动窗口的题目了。 我们先分析母题,我们设前缀和为p[i],该前缀和中,记录的是0的数量。则对一个区间,其中0的数量即为 \[ res=p[r] 阅读全文
posted @ 2021-10-08 18:06 艾特玖 阅读(50) 评论(0) 推荐(0)
摘要: 离散化可以分为两种离散化,是否保序 保序 若需要保持原有的顺序 map<int,int> mp; int idx; int get(int x) { if(!mp[x]) mp[x]=idx++; return mp[x]; } 不保序,需要排一下序 我现在知道的两种写法 一,二分 vector<i 阅读全文
posted @ 2021-10-07 20:55 艾特玖 阅读(59) 评论(0) 推荐(0)
摘要: 原题链接 题目分析 不难分析出来,我们就是要求出,对每一个位置i而言,其后面的比它大的位置j1,j2.....jn,构成的数学式子求解。 \[ ans[i]=2^{j_1-i-1}+2^{j_2-i-1}+...+2^{j_n-i-1} \] 我们可以对式子进行化简。 \[ ans[i]=\frac 阅读全文
posted @ 2021-10-07 20:17 艾特玖 阅读(94) 评论(0) 推荐(0)
摘要: 赛前准备: 准备好IN文档,OUT文档,题目文档; 赛时注意: 禁止摆烂,心态摆正 跟榜1 如果是被卡了一次的题目,交的时候,要保证两人抉择。 如果是没什么思路的题目,但是很多人过,要避免想复杂了,试试暴力。 卡题,思路引导 如果正向无法解决的复杂问题,从反向考虑一下,效果可能会好很多 用前缀和数组 阅读全文
posted @ 2021-10-07 17:39 艾特玖 阅读(61) 评论(0) 推荐(0)
摘要: 小A与小B 噩梦 分析 一些闲话 这里给自己提个醒,看一个题目时,如果只是听人讲明白了,或者看题解看明白了。那隔一段时间后一定要再重新写写,不然就可能像这次,噩梦与小A与小B一样,但有一些细节,当时写噩梦的时候根本没有记在心里。 这次就着重说一下这两道题解决时的共同点。 解决的都是,两个人在迷宫中相 阅读全文
posted @ 2021-09-30 20:03 艾特玖 阅读(55) 评论(0) 推荐(0)
摘要: 原题链接 分析 知识点 拆点图 思路分析 从原题中,我们要求的是从最上角走到最下角的最小步数。 但是此时加了一些限制,想通过门,需要相应的钥匙才能通过 那么相同下标的点,可能就因为此时是否有对应钥匙而变得不同。 这就提示我们,可以用拆点的方法,来把相同的下标的点,根据不同的状态分开,就是拆点。 此时 阅读全文
posted @ 2021-09-23 20:04 艾特玖 阅读(83) 评论(0) 推荐(0)
摘要: 原题链接:装满的油箱 分析 算法 dijkstra+拆点图 时间复杂度 O(MlogNC) 思路 在刚写这题的时候,完全没有任何思路。因为通过分析题目,我们可以知道,其实是类似于求一个最短路。但是又跟典型的最短路不相同。因为需要算的其实是。 从起点走到终点的花费的最小值。但这个花费,让我有点迷茫了, 阅读全文
posted @ 2021-09-09 20:29 艾特玖 阅读(73) 评论(0) 推荐(0)