竞赛
考级
复制以上链接,打开新界面,粘贴,打开手机,打开微信,扫描;回有意想不到的结果
🐱👤
1.抄袭数据 抄袭人员:林克 ━━╋══════➢ ID:526267 2.抄袭证据 证据1: 单从提交时间的间隔来看,该用户第一题和第二题之间,仅仅用了33秒,大家从题目上看,第一题和第二题不是A+Bproblem一样简单,看了他的代码也是打了不少的,所以,这是初次怀疑。 证据2. 发现该用户第三题提交了4次,第一次过了就行了,非要提交4次,我看了他每一次的代码,都是变量名改了,明显是抄袭GPT的代码,因为只有GPT才会取单词为变量名。 以下是每一次提交的记录 可以发现变量名是改了的,代码整体算法结构没有改(除了第三次提交,哈,因为他改变量名的时候代码都给改错了) 证据3 我还看了一下第三题的题解。如下: 然后我不要再说了吧~林克的代码和GPT的代码的变量名完全对应,也说明了前几个证据的正确性。 你也可以注意一下,其他题目,林克的代码都是没有命名空间的,即使代码有多么复杂,都不写using namespace std; 但是这道题目却写了,完全不符合他的书写习惯。所以其他题目95%都不是自己写的。 另外,我们也可以查看他的个人主页,发现他竟然有954的AC数,并且黑题有16道题目,100%的概率是抄袭的。 处罚 我宣布,该用户因抄袭题解,违反团队规章第七条,五一比赛规章第二条,将除去比赛排名,移至监狱,并无权参加比赛等任何功能,满4周才可释放。 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 来自ACGO反诈骗集团(缅北总团)。
北辞
大家好,我是MK云得,该活动每个月会进行一次,在规定时间内第一个在讨论区回复正确的用户可获得加入足球迷专属团队的资格,首先公布上一期第一个在规定时间内回复正确的用户,ID为1933237,话不多说,这期活动的提示如下: 1.他是一名前锋球员 2.他现效力于皇家马德里队 3.他在世界杯决赛上一共打进了4个球 难度系数★★ 截止时间:2024年11月10日20:00
MK云得
ACGO名人专访第二期
Popcorns_FMD(退站)
dp0,i,dp1,idp_{0,i},dp_{1,i}dp0,i ,dp1,i 分别表示第 iii 种状态的重量、最大价值 什么?你问这个方法有什么优点? 好吧确实没有 时间复杂度 O(2n×n)O(2^n\times n)O(2n×n),空间复杂度 O(2n)O(2^n)O(2n) 都不如深搜(
复仇者_帅童
158****1015
用C++
疯小害
如标题
Xylophone
点我 里面有至高无上的AC君!!! 已有229人 11月欢乐赛大家记得参加哟!
复仇者_摆烂崽
wcnmwcnmwcnmwcnmwcnmwcnmwcnmwcnmwcnmwcnmwcnmwcnmwcnmwcnmwcnmwcnmwcnmwcnmwcnmwcnmwcnmwcnmwcnmwcnmwcnmwcnmwcnmwcnmwcnmwcnmwcnmwcnmwcnmwcnmwcnmwcnmwcnmwcnmwcnm
杨云钦
没事干团队招新啦!!!\color{green}{没事干团队招新啦!!!}没事干团队招新啦!!! 目前只有可怜的14个成员(悲)\color{blue}{目前只有可怜的14个成员(悲)}目前只有可怜的14个成员(悲) 所以.....\color{red}{所以.....}所以.....赶快\color{gold}{赶快}赶快加入\color{cyan}{加入}加入我们吧!\color{gold}{我们吧!}我们吧! 我和“没事干团队(审核必过)”的小伙伴都在ACGO等你,快用这个专属链接加入我们吧!\color{purple}{我和“没事干团队(审核必过)”的小伙伴都在ACGO等你,快用这个专属链接加入我们吧!}我和“没事干团队(审核必过)”的小伙伴都在ACGO等你,快用这个专属链接加入我们吧!
一株寒冰射手-Snow Pea
动态规划大题解来啦!! ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 前言: 动态规划(dynamic programing(简称DP))通过记忆化的方式弥补了暴力搜索(如BFS,DFS等)重复计算某些区间的缺点。有的题目用动规甚至可以把时间复杂度从O(2^N) 降维打到O(N^2)。不过同时,这一算法也有一定门槛,是许多C++小白的一生之敌。 近期,我将会分两批,把ACGO官方的动规题单中的题目统一发放题解在一个帖子里面。这次的帖子是动规题单中相对简单的9道题(差不多占题单的50%)。 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 动规步骤 在正式开始之前,我需要说明做动态规划题目的步骤以及必须确定的及部分: 第一步: 众所周知,动规算法的主心骨是DP数组。但是与递推算法不一样的是,不一定所有的DP数组都自带答案。而如果不知道DP数组的含义而盲目去做只会导致越做越废(比如说那时的我)。所以做动规题目的第一步是确定该怎样定义DP数组 (也就是确定“DP[i][j]” 或 “DP[i]”的含义)。 第二步: 这一步是难倒大部分人的部分,也就是推导动态转移方程。听起来很高深,说白了就是当你有了前几项的答案,如何得出下一步的答案。其实有两种办法。1.(这一种很有用)打表+总结+AC。2.当你牛到了一定程度可以直接推导计算+AC。 第三步: 有的人万事俱备了,但是之后一通乱写,结果全部爆红。原因就是没有初始化好。怎样初始化呢?你可以把自己的大脑想成一个计算机,先自己推一下,把那些无法用转移方程推出来的找出来,它们就是初始化的对象。 第四步: 遍历顺序。这一点也是不可忽略的。比如像01背包和完全背包,遍历顺序完全是相反的(这一点也是和递推很不一样的一点)。具体该怎样要随机应变(反正很重要)。 第五步: 万事俱备,顺水推舟就行。 以上几点可能大家暂时体验不到,现在步入正题。来人!把准备的九道题搬出来,让他们体验一一下具体的五步!! ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 九道题的题解 1.A7927.兔子数列 本题个人认为反而更像递推,就是一道毫无争议的模板题。DP[n]就是本题答案。而且动态转移方程也告诉我们了。唯一要注意的就是初始化。从道理上来讲,应该初始化DP[1]和DP[2]。 代码如下: 但是,有人过了离开了,有人还在研究。这题还可以只用三个变量解决。具体逻辑大家自己理。 代码: 2.A7928.钞票问题 本题也是动规模板题。相信很多新手都是在这里死磕贪心挂掉的(忽略玩特判的)。动规做法的DP定义也很简单,DP[n]就是答案。但是在动态转移方程上面,就和递推有所不同了。他并不是通过前面一两位来获得后面的答案。这里就要展现记忆化搜索的强大之处了。由于我们是从前往后推的,因此DP数组当前位置的前面的所有位数已经知道了。而只有三种情况达到这个答案:1.i - 1加了一个1元的钞票变成i。2.i - 5加了一个5元的钞票变成i。3.i - 11 加了一个11元的钞票变成i。因此,只需要在DP[i - 1],DP[i - 5]和DP[i - 11]中找到最小值并+1就可以了(记得判边界)。 代码如下: 3.A7929.不同的路径 这题不难,我们需要知道除了上边界以及左边界以外,对于每一个,要么从左边来,要么从上面来。所以DP[i][j] = DP[i - 1][j] + DP[i][j - 1]。对于上边界,只能从左边来;对于左边界,只能从上边来,所以全初始化为1。 代码如下: 4.A627.数字三角形 题单里面没有这题,是我自己补进来的。(当然是因为它很重要)。其实这和上一题是一个循序渐进的过程。上题是求方案数,这题是求最大值(想到Dj了么)。是上方和左上方两个方位,用max来取最值。 代码如下: 5.A7932.数塔升级版 这题和上一题大同小异,二叉改三叉了,最大改成了最小。但是我这题用另外一种方法来解——即用父节点先初始化子节点。看得懂的可以找机会帅一把。 代码如下: 6.A7933.数塔升级版2 这题看起来很难,有的人感觉像是广搜/深搜(结果看了看数据范围直接老实了)。但是我们要有逆向思维,还是从上往下推,具体思路和前两题差不多。只不过找答案的时候记得要在下面中间的格子找。 代码如下: A7931.传球游戏 本体对于新手来说有难度,因为需要开新的一维用来从传一次球推导到传两次球……最后推导到传m次球。初始化DP[1][0]即可,因为一开始的球是在小蛮手里的。 代码如下: 8、9.A7934.最长上升子序列 A7956.导弹拦截 在题单里面有很多与这两题题相似的题,本帖就讲这两个两个,也算是为下篇开了个头。这两道题都是纯纯的模板题,与数塔相似,都使用贪心思想。在求答案方面有所不同,需要每一位都求一下。 代码如下: 导弹拦截: 最长上升子序列: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 如果本帖对你有用,请点一个赞,支持一下。 (AC君都点了,你不点一下?) 未完待续……
复仇者_THUNDER
如题
定理 首先我们先要知道费马小定理。费马小定理很简单,只有一句话: ap−1≡1 ( mod p)a^{p-1}\equiv1\ (\bmod\ p) ap−1≡1 (mod p) 其中 aaa 是正整数,ppp 是素数,且 aaa 与 ppp 互素。 费马小定理最常用于求模意义下的乘法逆元。模意义下的乘法逆元定义为:如果存在一个整数 a−1a^{-1}a−1,使得 a×a−1≡1 ( mod p)a\times a^{-1}\equiv1\ (\bmod\ p)a×a−1≡1 (mod p),则称 a−1a^{-1}a−1 为 aaa 在模 ppp 意义下的逆元。这样在模 ppp 的意义下,÷a\div a÷a 就可以被 ×a−1\times a^{-1}×a−1 所替代,而模意义下的乘法比除法简单很多。所以,学会求逆元是很重要的。 我们发现,根据费马小定理,在 ppp 是素数,且 aaa 与 ppp 互素的情况下,a×a−1≡ap−1 ( mod p)a\times a^{-1}\equiv a^{p-1}\ (\bmod\ p)a×a−1≡ap−1 (mod p)。变形得:a−1≡ap−2 ( mod p)a^{-1}\equiv a^{p-2}\ (\bmod\ p)a−1≡ap−2 (mod p)。因此,ap−2mod pa^{p-2} \mod pap−2modp 就是 aaa 的逆元。这样我们就完成了在 ppp 是素数,且 aaa 与 ppp 互素的情况下的逆元求解。计算时选用快速幂算法,可以实现在 O(logp)O(\log p)O(logp) 的时间复杂度求解逆元,相当高效。 所以来看题吧。 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 实战 【模板】有理数取余 (你问我为什么不放“模意义下的乘法逆元”模板题?问就是那题卡费马小定理的复杂度,要用线性推逆元。) 首先,这个数据范围就挺吓人的。但是根据模的性质,我们只需要分子分母(即 aaa,bbb)在模 192608171926081719260817 意义下的值。所以可以写一个快读,边读边模就行了。 然后,我们开始思考怎么做这题。发现 abmod 19260817\dfrac ab \mod 19260817ba mod19260817 中,除以 bbb 就相当于乘 bbb 的逆元,即 ab≡a×b−1 ( mod 19260817)\dfrac ab \equiv a\times b^{-1}\ (\bmod\ 19260817)ba ≡a×b−1 (mod 19260817)。注意到 192608171926081719260817 是个素数,所以求逆元只需要用费马小定理就行了。答案即为 a×bp−2mod 19260817a\times b^{p-2}\mod 19260817a×bp−2mod19260817。直接使用快速幂,时间复杂度 O(logp)O(\log p)O(logp)。 细节:当 bbb (分母)在模 ppp 的意义下为 000 时,这个分数在模 ppp 意义下显然是无意义的。特判输出无解即可。 代码: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 总结 费马小定理求逆元相当快。例如求模 109+710^9+7109+7 的意义下的乘法逆元,数据量为 10710^7107 个数时,本机测试对比如下。 费马小定理 拓展欧几里得定理 不开优化 12.13500s 16.81400s 吸氧(O2)(比赛用氧) 11.88500s 14.78300s 吸臭氧(O3) 13.34900s 18.26300s 吸快氧(Ofast) 14.18300s 17.56700s 为什么有些氧气会有负优化?我也不知道。 不过费马小定理的局限性就在于 ppp 不是素数是无法使用。所以各种逆元求法都要学一下。接下来附测试代码。 TEST.H 费马小定理 拓展欧几里得定理 测试数据生成器
暑 假 神(开学祭
AC :Answer Coarse 粗劣的答案 CE :Compile Easily 轻松通过编译 PC :Perfect Compile 完美的编译 WA :Wonderful Answer 完美的答案 RE :Run Excellently 完美运行 TLE :Time Limit Enough 时间充裕 MLE :Memory Limit Enough 内存充裕 OLE :Output Limit Enough 输出合法 UKE :Unbelievably Keep Enough Score 难以置信地保持足够的分数\begin{aligned} \large\colorbox{#52C410}{\color{white}\texttt{ AC }}&:\text{Answer Coarse 粗劣的答案} \\ \large\colorbox{#FADB14}{\color{white}\texttt{ CE }}&:\text{Compile Easily 轻松通过编译} \\ \large\colorbox{#E74C3C}{\color{white}\texttt{ PC }}&:\text{Perfect Compile 完美的编译} \\ \large\colorbox{#E74C3C}{\color{white}\texttt{ WA }}&:\text{Wonderful Answer 完美的答案} \\ \large\colorbox{#9D3DCF}{\color{white}\texttt{ RE }}&:\text{Run Excellently 完美运行} \\ \large\colorbox{#052242}{\color{white}\texttt{\:TLE\;}}&:\text{Time Limit Enough 时间充裕} \\ \large\colorbox{#052242}{\color{white}\texttt{\:MLE\;}}&:\text{Memory Limit Enough 内存充裕} \\ \large\colorbox{#052242}{\color{white}\texttt{\:OLE\;}}&:\text{Output Limit Enough 输出合法} \\ \large\colorbox{#0E1D69}{\color{white}\texttt{\:UKE\;}}&:\text{Unbelievably Keep Enough Score 难以置信地保持足够的分数} \end{aligned} AC CE PC WA RE TLE MLE OLE UKE :Answer Coarse 粗劣的答案:Compile Easily 轻松通过编译:Perfect Compile 完美的编译:Wonderful Answer 完美的答案:Run Excellently 完美运行:Time Limit Enough 时间充裕:Memory Limit Enough 内存充裕:Output Limit Enough 输出合法:Unbelievably Keep Enough Score 难以置信地保持足够的分数
MCHARRYWANG
关于ACGO,是回响,是交响,无数乐章汇成了一个叫“梦”的字 -我在ACGO这面墙上,镌下的刻苦铭心.... 我是通过集训营的渠道进入ACGO的,和大部分ACGOer一样,是无数蒟蒻中的小小一粒尘。 在23年集训里,我认识了很多人,有的人剑,有的人和我一样是活宝,还出现了把某个刺头拎出去单独记分的逆天处理(太抽象了..惨不忍睹啊)。 也就是在这个“崇乐”的环境里,我和我的伙伴组建了火爆一时的ACGO地下党,一起追着法神发消息,一起出题,一起偷拍老师丑照,有些人忘记了我,我却记住了每个和我有过交集的人,有一只鹏,一棵松,JOKER团队里的炸裂三人组,一位封号斗罗....是这些人组成了我每晚眺望,临摹的星空,流动的星河演绎着闪耀的回忆! 集训回来,我一直在ACGO刷题,八年级的松弛环境让我有足够的时间把题单里的题都刷完了,当时有点小自豪,但看了题库里的总题数,我才认识到了自己有多渺小......CSP的失利,让我陷入了迷茫...不知该怎么做,该怎么学。这段时间里,我碰ACGO的时间是比较少的。 在今年的暑假,再一次兴起的驱动下,我加入了“复仇者”团队,我本以为这个团队由一群帝国主义且中二病并且掌控欲极强的人(说个对不起,叙事需要)操纵的,但实际不是这样,我认识了BSA,认识了澜,认识了大帅童,和澜和BSA组成了搞事三人组,一起编程,一起分享生活中的点点滴滴。在这次尝试的成功下,我加入了ACGO官群。 -而正是加入了官群,我才真正认识到,ACGO真正对于我的意义。 在官群里,我认识了大佬MACW,每天都会说一些很高深的东西的酵溯,还有不时冒泡的哎嘿老弟,我加入了ACGO,融入了ACGO,也让别人认识了ACGO。不知不觉,我也成了星河的一部分,与众多繁星共舞,我很荣幸。能拥有他人的赞赏,会成为我在少年时代无法忘掉的回忆,我将自己平时生活里的有趣之事写成了《生活小逝》系列,听见别人和从前的我笑声重合,我露出了笑容。那本没写完的《幻想世界》,我到高中了,可能会继续写的吧..... 这其实也是我短期内退站的告别作,中考在即,纵是星星也会暗淡一段时间,能参加ACGO的两岁生日,我真的很开心,虽然我不能用乐器,用声带让你们听见,但是通过文字,希望我为ACGO亲手谱写的生日歌能在各位心中回响! -再见了,各位!希望你们能记住我,等着我回来,再次与你们欢笑! “我不惧深渊的黑暗,亦不惧烈火之光芒,我在此,即是永昼。永昼之下,我所珍视的繁华,将会永存。-《某部未完成作》”
复仇者_ドラゴンコア
T1.混淆字符串 函数 is_confusable 来判断两个字符串是否互为「混淆字符串」。这个函数首先定义了一个字典 confusable_pairs 来存储混淆字符对,然后遍历两个字符串的每个字符,检查它们是否相同或者是否互为混淆字符对。如果所有对应的字符都满足条件,则返回 "Yes",否则返回 "No"。 上代码 T2.循环小数 find_repeating_cycle 来找出有理数 p/q 的循环小数序列。这个函数使用了长除法的方法,通过一个字典 remainders 来记录每个余数出现的位置,以此来检测循环的开始。如果余数为0,则没有循环小数。如果余数之前出现过,那么从那个位置开始的序列就是循环序列。 上代码 T3.特殊的染料 这道题目是一个典型的贪心算法问题,我们需要通过最少的金币消耗来将染料桶中的染料量从左到右递增排序。关键在于理解如何通过交换操作来实现排序,并且如何计算每次交换所需的金币消耗。 我们需要理解题目中的“倒换”操作。每次交换操作涉及到三个桶:i、i+1 和 j。我们需要将 i 或 i+1 中的染料倒入 j 中,然后再将 j 中的染料倒入 i 或 i+1 中,完成倒换。这个过程需要消耗金币,金币的消耗取决于 j 桶中染料的颜色。 上代码 如果这个题解能帮到你,麻烦点个赞
双面人
不会真有人不用列表吧,一个一个列出来的: if(a%7==0) { cout<<"monday"; } 这种
有事找大号
2024/10/25 学校运动会结束,作业好多(),决定周日再写。 复习了一下模板(线段树)然后几把王者就去睡了。 2024/10/26 6 : 30 起的,深圳这边深高级高中园距离市区挺远的,开车一个小时。路上再次看了眼前几年 j 组题目,打了局王者排位。 到考点的路真的堵,最后一段路只能走路,其他人好像都穿着深圳校服但我们这个学校的抽象校服是挺显眼。 8 : 30 正常开始. T1 写 if,15 min 过。 T2 一眼丁真鉴定为模拟,随便写个 vis 数组模拟一遍走就行(map<pair<int, int>>也行,懒),也差不多 15 min。 T3 终于有点难度,先写字符串打个表,然后就能发现规律,直接就 30 min A掉。 T4 猜是 dp 但状态转移不想求菜,建了个树,易发现第 i 层的数即为 i 轮能否到达,初始化 + 判断就行 1h。 中午随便吃了个快餐,再来局王者,睡半个小时就继续 s 组。 上楼时还有高中生在上课(高中都这样的吗)。 S 组考场碰见同学了,唠会嗑,跟他讲讲注意事项(怎么还有小学生啊,我这初三很尴尬啊)。 T1 排序然后 双指针 + 二分查找走一遍,O(nlogn) A掉 30 min。 T2 把加速度等于 0 和大于 0 的部分分拿到。 T3 二进制枚举加判断也能拿个 20 左右,感谢 CCF 神机,1e9勉强能过。 T4 不读了,一眼黑题。 2024/11/4 查分 J = 100 + 100 + 100 + 15 = 315 S = 100 + 40 + 20 + 0 = 160 一个一等 + 看运气能不能一等。 S 组一等深中有望啊。
CJX
直接放图 徐皓东复活了!
复仇者_黑客_ZDZL
共13609条