随笔分类 -  杂--思维

该文被密码保护。
posted @ 2022-07-02 17:35 __Anchor 阅读(1) 评论(0) 推荐(0)
摘要:A - Cookie Exchanges 看到这种题一般能想到直接枚举一定次数,不行就输出无解。 可以证明是 \(\log n\) 次,没想过证明。 B - Unplanned Queries 观察样例容易发现,或者这类题我好像见过类似的,结论就是如果所有端点都被取偶数次,那么就是可行的,反之不行。 阅读全文
posted @ 2022-01-13 20:53 __Anchor 阅读(110) 评论(0) 推荐(0)
摘要:A - Sorted Arrays 直接贪心地从前往后取即可。 B - Hamiltonish Path 考虑随便取一条路径 \((u,w_1,w_2,w_3,...,w_k,v)\) 。 那么我们对于 \(v\) 的所有没取过的点,随便选一个取下去即可,这样一定会有终点。 然后对于 \(u\) 同 阅读全文
posted @ 2022-01-10 21:09 __Anchor 阅读(73) 评论(0) 推荐(0)
摘要:题目 分析 首先如果我们对于左部每个点的贡献进行考虑,其实是不太好做的,所以这样的题目一般可以直接按照每一个贡献点的贡献次数来思考。 然后我们发现其实很多个数的和的 \(\gcd\) 与其本身也有关系,也就是一定可以从小的关系推出大的关系。 于是可以考虑两个不同的右端点,其拥有左端点集合的关系来判断 阅读全文
posted @ 2021-11-30 15:42 __Anchor 阅读(56) 评论(0) 推荐(0)
摘要:题目 给定一个序列 \(a\) ,定义其权值为: \[ \sum_{i=1}^n\gcd(a_1,a_2,...,a_i) \] 现在你可以重排 \(a\) ,求这个权值的最大值。 本题与同场 D1 的唯一差别在于 \(a_i\) 的范围。 分析 首先容易想到可以 \(dp\) ,并且是按照值域的维 阅读全文
posted @ 2021-11-29 16:54 __Anchor 阅读(71) 评论(0) 推荐(0)
摘要:题目 分析 像这样多次询问的东西,一般都是一段含有某些一定的特征,我们才能加以判断,所以我们的目的就是寻找这些变化中不变的特征。 需要观察性质,发现在这样的操作当中,每一个 \(0\) 之间的相对位置不会变,并且每一个 \(0\) 的奇偶性一定不变。 于是我们可以想到直接哈希来判断,只要两个区间,每 阅读全文
posted @ 2021-11-29 09:09 __Anchor 阅读(44) 评论(0) 推荐(0)
摘要:题目 CF859E Desk Disorder 分析 牛逼数数题。 首先是个人应该就能想到建图,但是我这个傻逼建的图是 \(n^2\) 级别的,我怎么建的可以自行想象,暂不赘述。 我们发现,如果我们将每一个位置看做一个点,将题目给出的可以移动的座位 \(x->y\) 看做一条有向边 \((x,y)\ 阅读全文
posted @ 2021-10-28 21:21 __Anchor 阅读(49) 评论(0) 推荐(0)
摘要:题目 CF140E New Year Garland 分析 计数dp常规好题。 发现除了相邻两层的限制,我们对于每一层内部的计算是独立的。 于是可以考虑先计算所有内部的情况,再通过容斥干掉相邻两层不能相邻的限制(即没有限制的情况数-两层相同的情况数)。 对于每一层内部,我们考虑dp,设 \(g[i] 阅读全文
posted @ 2021-10-28 20:52 __Anchor 阅读(63) 评论(0) 推荐(0)
摘要:题目 CF1336C Kaavi and Magic Spell 分析 好题。 直接做并不好做,然后数据范围提示区间dp。(其实好多这种匹配的都是区间dp,比如 CSP2021-S T2) 于是我们设状态 \(dp[i][j]\) 表示 \(S\) 前 \(j-i+1\) 个字符,当前获得了 \(T 阅读全文
posted @ 2021-10-27 21:14 __Anchor 阅读(50) 评论(0) 推荐(0)
摘要:题目 CF1336A Linova and Kingdom 分析 首先很容易想到可以贪心,每次一定先选深度更深的。 于是我们直接 \(dfs\) 一下再排个序取前k大的点就行了。 然后发现假了。 冷静思考一下,发现对于不是叶子的节点如果我们选了会导致我们的贡献减少,因为会“站位”,而且在选这个节点之 阅读全文
posted @ 2021-10-27 21:02 __Anchor 阅读(45) 评论(0) 推荐(0)
摘要:题目 CF38H The Great Marathon 分析 毒瘤 \(O(n^5)\) 的 \(dp\) 。 首先可以枚举一个金牌线和银牌线,\(O(n^2)\) 。 然后对于每一类线进行一个 \(dp\) ,求方案数表示 \(dp[i][j][k]\) :前 \(i\) 个人,当前已经有了 \( 阅读全文
posted @ 2021-10-26 21:32 __Anchor 阅读(82) 评论(0) 推荐(0)
摘要:题目 CF1043F Make It One 分析 首先就需要看出一个性质:如果有解,那么答案必然不超过 \(7\) 。 为什么? 考虑两个数取 \(gcd\) 会造成什么影响:原数至少 \(/2\)!(因为这里我们选的两个数必然不同,否则就不用选) 然后发现这样的话可以选的数并不多,再进一步发现这 阅读全文
posted @ 2021-10-26 21:22 __Anchor 阅读(49) 评论(0) 推荐(0)
摘要:题目 CF549G Happy Line 分析 排序,性质。 这道题告诉了我们大眼观察法的重要性。 我们发现,无论怎么交换,每一个元素对应的 \(a_i+i\) 总是一个定值。 那么显然交换到最后的最好情况就是所有的值按照从小到大有序。 然后考虑什么情况下无解,显然,如果在最终的序列当中出现了两个相 阅读全文
posted @ 2021-09-15 11:28 __Anchor 阅读(98) 评论(0) 推荐(0)
摘要:题目 分析 首先发现数据是随机的,于是可以考虑乱搞/期望正确的暴力算法。 发现题目中的 \(k=15\), 而很多地方都和二进制有关,甚至还有把一个串缩成一个数的。 于是可以想到把原串都按照16位一个数来做,同时也分成了16块,于是我们可以发现这样一件事:这16块当中必定有一块和字典里的是一模一样的 阅读全文
posted @ 2021-08-05 19:43 __Anchor 阅读(71) 评论(0) 推荐(0)
摘要:题意 分析 直接线段树合并似乎复杂度不太对,会被卡。 于是考虑线性做法,发现原题的每一个函数的调用关系构成一个DAG。 由部分分启示我们先想想只有1操作的情况:直接每次暴力单点加,最后查询一次就行了。 再看只有前两个的情况:每次还是暴力单点加,但是要统计一下这个操作后面一共乘了多少倍,那么我们可以看 阅读全文
posted @ 2021-07-21 21:23 __Anchor 阅读(317) 评论(0) 推荐(0)
摘要:题意 分析 可能是思维题? 首先我们发现取最小值的操作就尽可能填小的数。 如果考虑通过“代价”来求得最大值: 那么其实对于一个取最小值的节点,我们如果定义其代价,很容易发现就是“所有子节点的代价之和”,而最大值呢,就是“所有子节点代价的最小值”。 我们要让这个代价越小越好,而取最小值显然会让我们不得 阅读全文
posted @ 2021-07-19 21:08 __Anchor 阅读(50) 评论(0) 推荐(0)
摘要:题目 P2218 [HAOI2007]覆盖问题 给定一堆点,要求使用三个长为 \(L\) 的正方形把所有点覆盖,求 \(L\) 的最小值。 分析 发现只有三个正方形,但是我们如果把四个边界求出来,这样有四个,所以肯定有两个边界同时被一个正方形覆盖吗,也就是一定有一个正方形卡在一个角上。 不妨设这就是 阅读全文
posted @ 2021-05-08 11:08 __Anchor 阅读(58) 评论(0) 推荐(0)