
acwing周赛
_NeW__
这个作者很懒,什么都没留下…
展开
-
构造新矩阵(二分答案)
分析:首先要判断每一列是否有大于等于L的数,且必须满足n列,全部都有大于等于L的数,n列数都有的前提下,必须有n行包含,每行都有一个大于等于L的数,如果有一个n-1行的矩阵,就满足n列都至少有一个数大于等于L,那么就说明有一行,必定是有2个大于等于L的数。所以只需要判断是否有一行,别重复判断了两次。题意:从矩阵中,选出n-1行,得到新矩阵,每一列必须至少有一个大于等于L的数,输出尽可能大的数。自己的思路:记录满足条件的数的个数,再判断个数是否大于等于被标记的行的行数加1.原创 2023-02-19 21:58:41 · 82 阅读 · 0 评论 -
找数字(字符串思维题)
刚开始自己的思路:用dfs暴搜,没考虑时间复杂度(准确来说当时不知道该题的时间复杂度该怎么算),如果用暴搜写的话是(10的100次方)定义一个长度为m的空字符串,从最后一位开始遍历每一位尽量填9,当s不足9时,且当前还没遍历到第一位时,填s-1,要保证第一位有数,原创 2023-02-12 19:07:49 · 178 阅读 · 0 评论 -
加减乘(DP,ACwing周赛)
下边说一下思路:我认为DP最重要的思想是,当前的值,可以被前边已经求过的值更新出来;这道题最后整理的思路是:当前i的值,可以由哪些前边的值更新出来。也就是f(x)=f(0~x-1)+某些特定的值。但这道题比赛时思路不太清晰,属于运气好了~首先,第一次AK周赛,灰常开心~原创 2023-02-05 18:58:55 · 124 阅读 · 0 评论 -
危险程度(并查集)
分析: 任何一个连通块或者环,都可以转化为上面树的形式,我们只需要从根节点开始遍历即可达到最大。接下来 mm 行,每行包含两个整数 x,yx,y,表示化学物质 xx 和化学物质 yy 之间会发生反应。已知,空试管的危险值为 11,每倒入一种化学物质,如果该物质能够与之前倒入试管中的一种或多种物质发生反应,则试管的危险值将乘以 22。请你计算并输出,通过合理安排所有化学物质的倒入顺序,能够得到的试管的最大危险值。所有测试点满足 1≤n≤50,0≤m≤n(n−1)/2,1≤x原创 2023-01-07 21:39:31 · 637 阅读 · 0 评论 -
构造序列(互质)
思路:用m-(n/2 -1)得到前两项的值 d , d*2 ,(两项的最大公约数是d)对于一个长度为 nn 的正整数序列 a1,a2,…任意两个相邻的数互质,所以后面的数为d*2+1,,,,d*2+(n-2)请你构造一个长度为 nn 的正整数序列 a1,a2,…所有测试点满足 1≤n≤10^5,0≤m≤10^8。如果答案不唯一,输出任意合理答案均可。前 7 个测试点满足 1≤n≤10。共一行,如果序列不存在,则输出。,否则输出a1,a2,…共一行,两个整数n,m。原创 2022-12-27 13:22:15 · 679 阅读 · 1 评论 -
闯关(贪心)
值得注意的是,当挑战者即将挑战的关卡是特殊关卡时,如果挑战者当前已经获得的总分数大于该特殊关卡的通关分数,则挑战者可以对该关卡的通关分数进行一次修改,修改后的新分数不能小于原分数,也不能大于挑战者当前已经获得的总分数。首先说一下我之前的想法为什么是错的,如果当前分值乘以2后,还没有末尾最大的分值大,此时也丧失了一次乘2的机会,如果先加末尾的值,再乘以2,分值会更大。所有测试点满足 1≤n,m≤100,m≤min(n,30),1≤ai≤107,1≤bi≤n,bi 两两不同。,an,表示每个关卡的通过分数。原创 2022-12-27 11:48:12 · 483 阅读 · 0 评论 -
构造序列(模拟构造)
首先我们至少需要n-1个1使n个0隔开,然后依次从左往右输出,再判断每个空挡是否需要填1。输出共一行,如果存在满足条件的 01 序列,则输出满足条件的 01 序列,否则输出。所以题目的条件必须满足 n - 1原创 2022-12-18 12:15:13 · 401 阅读 · 0 评论 -
变换树根(树的遍历)
现在,我们要重新指定树的根节点,更具体地说,我们要将树的根节点从 r1 变换为 r2。在一行中输出 n−1 个整数,表示变换树根后,每个节点(r2除外)的父节点编号。树的根节点编号 r1 已知,每个节点(r1除外)的父节点编号 pi 已知。第二行包含 n−1 个整数,表示每个节点(r1 除外)的父节点编号 pi。所有测试点满足 2≤n≤50000,1≤r1≠r2≤nn,1≤pi≤n。请你计算并输出,变换树根后,每个节点(r2除外)的父节点编号。输出应保证,编号越小的节点,其父节点编号越先输出。原创 2022-10-30 20:31:01 · 259 阅读 · 0 评论 -
最短路程(树的遍历+思维)
接下来 n−1 行,每行包含三个整数 x,y,w,表示点 x 和点 y 之间存在一条双向边,长度为 w。思路:经分析,要遍历整个树,除了起点到终点的边只用遍历一次,其余边都需要遍历两次。要想res尽量小,max需足够大,所以遍历一遍整个树,求出最长的路径长度。所有测试点满足 1≤n≤10^5,1≤x,y≤n,0≤w≤2×10^4。遍历树中所有点,路径中可以包含重复的点和边。请你计算,你所需的行程总长度的最小可能值。一个整数,表示行程总长度的最小可能值。注意,你可以在任意点结束你的行程。节点编号为 1∼n。原创 2022-10-16 16:05:38 · 848 阅读 · 0 评论 -
压缩文件(思维)
我们想要的是压缩一个文件,然后使背包尽可能大,所以我们要依次减去差值大的文件(压缩与不压缩的),所以就把差值按从大到小排一下序,每次减去最大的差值,(为什么要减去差值呢?因为把一个文件拿出来,压缩一下再放进去,减小的数量就是他们的差值)思路:计算一下所有的初始容量大小之和,如果初始大小之和小于m,那么就不需要压缩;原创 2022-10-10 20:15:56 · 183 阅读 · 0 评论 -
整数划分(哥德巴赫猜想)
(2).根据巴赫歌德猜想,任何大于等于9的奇数,都可以拆为3个奇数,所以答案是3(小于9的奇数3,5,7 他们已经满足第一条条件,不会再判断)。2.如果n是偶数,根据哥德巴赫猜想,任何大于等于6的偶数,都可以拆为两个素数,所以答案是2,(当n小于6时,只有2,4 答案同样也为2)(1).(n-2)是素数,那么n可以拆为一个素数,和一个2,因为2也是素数,所以答案是2。分析:1.如果n就是素数,那么答案就为1。原创 2022-10-10 19:58:37 · 280 阅读 · 0 评论