首页 > 其他分享 >2023.8.24 SM Round

2023.8.24 SM Round

时间:2023-08-24 15:58:12浏览次数:50  
标签:24 连通 质数 值为 偶数 炸弹 2023.8 SG Round

A

在 \(n\) 个数中选尽可能多的数,使得任意两个数之和不是质数

质数只有 \(2\) 是偶数,那么只有 \(1+1\) 和 奇数加偶数 能产生质数

因此首先把 \(1\) 删除到只剩一个。这个 case 在有拍情况下卡掉了 cls(

建最小割的图,源点连奇数容量 \(1\) 的边,偶数连汇点容量 \(1\) 的边,如果两个数相加为质数就将两者连一条奇数向偶数的边、容量无限,跑最小割即可。

Miller_Rabin 判断素数,经验证只需 \(2、3、5、7、11\) 五个底数即可查清 \(2\times10^9\) 以内的质数。

B

image

考虑每个炸弹向它上下左右的第一个炸弹连边,这样就连出了若干个连通块,这样我们可以单独考虑每个连通块,因为它们之间不会引爆。

若一个连通块有环,那么只要引爆环中的一个炸弹,就可以把这个连通块涉及到的所有行列都引爆,获得这些行列上的所有水晶;若没有环,那么当块最优解一定是选择某个左右/上下没有其它炸弹的炸弹,将它竖着/横着引爆,对比上一种情况,这样最多只会损失掉某一行或某一列的水晶,减去这些即可。

时间复杂度 \(O(nm)\)。

C

image

注意到有很多起点,这迫使我们求出每个位置的 SG 函数异或起来。

这里有一个难的地方,如何规避移动到重复格子。这仅仅在一行内没有任何障碍时可能发生,在朴素情况下这个东西也需要记录到一个局面的状态中,也就是状态要加上当前行已经走过的区间(其中一个端点必然为当前点),变成 \(O(n^3)\) 复杂度。

因为从下一行递推上来时,我们并不关心这个第三维,考虑优化为:\(f_{i,j}\) 表示上一步来自 \(f_{i-1,j}\) 或者此为起点时的 \(sg\) 函数。

若行内有障碍,那么一定只能走单一方向,且这样不会走回重复格子。因此 \(f_{i,j}\) 可以从左到右、从右到左分别直接递推。不能直接递推 SG 函数值,而是把 \(f_{i,j}\) 对应的所有后继状态处理出来。

Trick:一个点 SG 函数的上界等于出度。本题中是小常数 \(2\)。

注意到算 \(f_{i,j}\) 时,\((i,j)\) 可以看作行内的一个额外障碍。遍历 \(j\) 套用上面的做法是 \(O(n^3)\),考虑加速这一过程,注意到 SG 值不超过 \(2\),因此可以预处理出这样的一些信息:当 \((i,j)\) 的 SG 值为 \(v\) 时,一路向左边或右边推,位置 $(i,1) 或 \((i,m)\)的SG值为多少; 以及当位置 $(i,1) 或 \((i,m)\) 的SG值为v时,一路向右或向左推,到 \((i,j)\) 时的SG值为多少。即可 \(O(1)\) 计算每个位置的 SG 值。时间复杂度 \(O(nm)\)。

D

image

\(72pts\):P6329,直接点分树维护 \(dis\le k\) 邻域和,用总和减去之。

正解:这个需求的距离 \(k\) 其实是有性质的。考虑以特殊点 \(1\) 为根时,指定了某个点 \(x\),那么其子树内有贡献的点是 \(d_y>2d_x\) 的 \(y\);子树外有贡献的是 \(d_y>d_x\) 的 \(y\)。

所以我们直接拆成三个询问,长链剖分就可以了?

标签:24,连通,质数,值为,偶数,炸弹,2023.8,SG,Round
From: https://www.cnblogs.com/Muelsyse/p/17654303.html

相关文章

  • Codeforces Round #849 (Div. 4) 题解
    第一次打$\text{Div.4}$,感觉体验还行,差一题AK。##A直接使用if语句判断某个字符是否在字符串$\text{codeforces}$中出现过,幼儿园小朋友都会做。时间复杂度$\mathcal{O}(T)$,空间复杂度$\text{O}(1)$。ACCode##B用两个变量$x,y$记录当前走到哪里。若出现过$x=1,y=1$的......
  • 2023.8.24
        前一段时间读了一本书,书的作者为自己定下了一个目标,坚持写十年的公众号推文。受到其启发,我也决定坚持每天写一些文字,不只是记录生活,也是学习写作的一种尝试。    从六月底到八月底,跟在对象身边,体会到了他之间所说的力不从心、焦虑麻木的感觉。在企业,管理制度......
  • Educational Codeforces Round 109 (Rated for Div. 2)
    B题没想到被坑了两次,极端情况明明也很好想,硬是WA了两发。C题很想之前做过的经典蚂蚁题,但是又不太一样,但分析之后,发现之后奇偶性相同才可能碰撞,那么分开处理,假如已经有相向而行,肯定是最快碰撞的,用一个栈维护即可,最后就是剩下的肯定是LLL...RRR将它们配对即可。#inclu......
  • 2023.8.23正式操作的第三天
    今天依旧还在编程练习,理解联想起来有点难度1、P33       函数的答案如下 函数调用描述了三个句子,和题目要求吻合,主要是通过\n来断句来作为对此程序的解读切入口;这一个程序和第四个题目的程序不同点,个人认为是体现在jolly和deny可以作为printf函数的平替,但此......
  • 2023.8.23
    今天竞赛,三个小时,就看了那道pwn题,主要其他我目前也还没学过。pwn就一道题,关键还不会,看ida看了半天,尝试用栈溢出解决,结果发现只在一个不知道哪里的函数用了几次read,read的大小还普遍是1和2,好像还在另一个地方找到了个read,但是read的大小也够不到savedebp。整个竞赛下来,挫败感倒是......
  • 2023.8.23 模拟赛
    A一条蛇,有\(K(K\le6)\)个格子,格子必须连续且不能重叠。在\(n\timesm(n,m\le3000)\)的矩阵中放置,有一些格子是不能放的,问方案数。B一棵树\((n\le50000)\).每次询问\([l1,r1],[l2,r2]\)在\(rt\)为根下两两lca的异或和。先处理以\(rt\)为根的问题,发现\(lca_{......
  • 2023.8.23
    我觉得\(A\)和\(C\)还是能做一点的。就是考场上太劣了去找ABC写了。A在\(n\timesm\)的矩阵中放一条长为\(k\)的蛇,其中一些位置有限制。蛇有顺序之分,问总方案数。\(n,m\le3000\),\(k\le6\).B给出一棵树,多次询问,给出\(root,l_1,r_1,l_2,r_2\),问以\(root\)为根......
  • 科技政策 | 四川省科学技术厅关于发布2024年第一批省级科技计划项目申报指南的通知
    原创|文BFT机器人近日,四川省科学技术厅发布了2024年第一批省级科技计划项目申报指南;其中包括自然科学基金项目、重点研发计划、科技成果转移转化引导计划、科技创新基地(平台)和人才计划。01自然科学基金项目实施周期重大项目实施周期为3年;重点项目实施周期为3年;面上项目实施周期......
  • (2023.7.24)软件加密与解密-2-1-程序分析方法[XDbg].md
    每天一个技术点(2023.7.24)软件加密与解密-2-1-程序分析方法[XDbg]本文作者:XDbgPYG(小吧唧)发布时间:2023年7月24日内容概要:练一道题0.收集信息程序名:CrackMeDemo.tvmp.1.exe程序界面长相如下:程序内存长相如下:程序内存字符串长相如下:看样子......
  • C#计算24点(1-13数字)
    Node.csnamespacecount24{classNode{publicNode(doubleval,Stringe){value=val;exp=e;}publicNode(){}publicdoublevalue;publicStringexp......