首页 > 其他分享 >2024 年 8 月做题记录

2024 年 8 月做题记录

时间:2024-08-02 22:16:42浏览次数:13  
标签:submission 记录 可以 texttt 50 2024 Difficulty 做题 Theta

做题记录 (2024/8)

一些难题/好题/做完比较有感触的题会写进来。每月一篇,不定时更新。

难度评分:思维/代码,满分 \(10\)。

不保证作为题解是合格的。

题面可以从 submission 点进去看。

注:NOIPSC = NOIP simulation contest

CF1991F. Trangle Formation

Difficulty: \(3.5/2\)

考虑怎样的序列一个三角形也不能构成。

考虑两根长为 \(1\) 的木棍,则下一根长度 \(\ge2\),再下一根 \(\ge3\),在下一根 \(\ge5\)……于是第 \(i\) 根的长度最小值是斐波那契数列的第 \(i\) 项。这玩意是指数增长的,不到 \(50\) 项就会爆出 \(10^9\)。

这时再随便来几根就可以组成两个三角形了(理论最小值是 \(t=48\) 根)。所以 \(r-l+1\ge t\) 的时候直接 ok 了。

考虑 \(r-l+1<t\) 怎么做。结论是排序后这两个三角形要么是两组分开的连续三个,要么是连续六个。暴力即可。时间复杂度 \(\Theta(q(t\log t+\binom 63t))\)。

submission

CF1991I. Grid Game

Difficulty: \(8/6.5\)

神仙交互题,咕。

submission

P2482. [SDOI2010] Pig Kingdom War

Difficulty: \(1.5/9\)

题目本身没啥好说的。大模拟。调了 \(\texttt{3h}\),写了 \(\texttt{5KB}\)。以下是我的一些唐氏 bug。

  • 一个人出决斗结果自己似了,然后他继续出牌?
  • check 任何东西的时候请跳过似人。
  • 决斗可以和任何人决。
  • 反贼不会决忠臣(只会决主公)。
  • 不能只通过身份确定是否要无懈(例如,主公会无懈类反贼)。
  • 决斗只在开始时可以被无懈,但南蛮/万箭是在判每个人之前 check 无懈,并且只对他自己有效。

submission

AGC066B. Decreasing Digit Sums

Difficulty: \(5.5/3\)

讲个笑话:本人在该场中 \(\texttt{3h}\) 切了 \(0\) 题,但是开了 unrated

一般来说数字越来越大数位和也会有越来越大的趋势。所以需要一些观察。

考虑 \(5^{50}\) 的倍数。注意到 \(f(5^{50}\cdot2^i)=f(10^i\cdot5^{50-i})=f(5^{50-i})\),相当于数字会变得越来越小。这是我们想要的。

但是只取一个数还是不行的。根据大数定律,数字越大,下降的趋势就会越明显。考虑随一堆 \(5^{50}\cdot i\) 拼起来,中间用 \(0\) 隔开以免进位产生影响。这样大概就能很快随出来。实测取 \(100\) 个可以秒出解。把数直接交上去就行了。

submission

NOIPSC14B. Add Number / ARC153D. Sum of Sum of Digits

Difficulty: \(4.5/4.5\)

进位不太好处理,考虑数位 dp。直接枚举每个数是否进位显然不行,注意到后 \(i\) 位产生进位只能是后 \(i\) 位最大的若干个数。于是设 \(dp_{i,j}\) 表示后 \(i\) 位中,最大的 \(j\) 个数产生进位的最小代价。转移枚举下一位数字填啥就行了。

如果直接转移需要 \(\Theta(n)\) 计算状态和值。双指针优化即可做到(均摊)\(\Theta(1)\) 转移。

总复杂度 \(\Theta(n\log_\Sigma V(\log n+\Sigma))\)。\(\log n\) 可以基数排序省掉但是没必要。

submission

NOIPSC13B. Jiangqiao Escaping on Tree / P3006. [USACO11JAN] Bottleneck G

Difficulty: \(6/4\)

没理解透。还要回来看。

首先发现人够的话到父亲的边永远是灌满的。人不够了就永远灌不满了。

所以可以分成两个阶段,而分界点就是 \(\dfrac{\text{初始人数}}{\text{净输出量}}\)。

一旦灌不满了,它连向父亲的边就没用了。可以把它和父亲合并起来。

然后因为某些神仙原因可以直接把它的净输出量和初始人数全部加到他父亲上就行了。再在并查集上合并两点即可。

询问在每次阶段变化中间就可以顺便回答了。变化时间可以 pq 维护。时间复杂度 \(\Theta(n\log n+q\log q)\)。

NOIPSC14C. Coloring Plans

Difficulty: \(5/3\)

这题赛时差不多已经想出来但没时间写了。主要是赛时胡了好几个假做法。。。

限制就是一个点能到的点构成的生成子图所有环长都是偶数。枚举所有限制的话可以用 dfs 树,一条非树边就会加一个限制,一共最多 \(\Theta(nm)\) 个。处理限制可以线性基,用 bitset,每个限制可以做到 \(\Theta(\frac{m^2}w)\)。

总复杂度 \(\Theta(\frac{nm^3}w)\),但是跑不满一点。跑得嗖嗖快。

submission

NOIPSC14D. Connecting Vertices / AGC065D. Not Intersect

Difficulty: \(9.5/2.5\)

大神仙计数题。没理解透。之后回来看。

submission

AGC065C. Avoid Half Sum

Difficulty: \(6/2\)

首先有一个 MO 结论:

有 \(n\) 个物体,第 \(i\) 个物体的质量 \(a_i\) 满足 \(1\le a_i\le i\),且 \(\sum_{i=1}^na_i\) 为偶数。则可以将 \(n\) 个物体全部放入天平的左盘或右盘,使得天平平衡。

做法就是从后往前依次放轻的那边就行了。

然后原题可以转化为给每个位置赋一个重量使得天平无法平衡。

然后你对着结论的证法一顿推,你会推出结论是有解当且仅当存在一个数使得比它小的奇数的个数小于它的值减 \(1\)。直接做就行了。\(\Theta(n\log n)\)。

submission

CF1997F. Chips on a Line

Difficulty: \(3/2.5\)

一眼秒了。不想认真讲。

首先我不知怎么一眼就想到了赋权,然后自然而然想到斐波那契。然后发现 \(f_1=f_2=1\) 完美。

然后 dp 两下就做完了。时间是 \(\Theta(n^2xf_x)\)。

summission

AGC066C

Difficulty: \(7/3\)

经过我数小时的打表找规律思考,发现一个串可以删空当且仅当可以划分成若干个满足以下条件的子串:

  • \(\texttt A\) 的数量是 \(\texttt B\) 的两倍;
  • 两端字符中至少有一个是 \(\texttt B\)。

回到原题,考虑 dp。可以发现只需转移满足上述条件的自传就可以了。随便优化一下就行了。时间复杂度 \(\Theta(n)\)。

submission

P9720. [EC Final 2022] Map

Difficulty: \(5/5.5\)

不会计算几何啊。。。

以下记 \(f\) 操作为从公园跳到地图,\(g\) 为从地图跳到公园。

首先先 \(g\) 再 \(f\) 不如直接走,不但走的距离大而且浪费两次操作。

那么可以发现,最终一定是先 \(f\) 若干次,然后走到某个点,然后 \(g\) 回去若干次。

于是爆枚 \(f,g\) 的次数,算出要走的是从哪到哪,取个 \(\min\) 就行了。时间复杂度 \(\Theta(Tn^2)\)。

submission

标签:submission,记录,可以,texttt,50,2024,Difficulty,做题,Theta
From: https://www.cnblogs.com/No-play-Yes-splay/p/18339703/practice-2024-08

相关文章

  • 02 Go语言操作MySQL基础教程_20240729 课程笔记
    概述如果您没有Golang的基础,应该学习如下前置课程。Golang零基础入门Golang面向对象编程GoWeb基础Go语言开发RESTAPI接口_20240728基础不好的同学每节课的代码最好配合视频进行阅读和学习,如果基础比较扎实,则阅读本教程巩固一下相关知识点即可,遇到不会的知识点再看视频......
  • 2024.8 做题记录 /
    galaxyplan8.2A.小怪兽(monster)你说得对但是决策单调性状物代价相等的都包含进去分治可以ac,正确性不知道,至少复杂度是假的。不过下述做法考场也想到了。首先做一个比较小的转化,\(Ans=n-\frac{1}{n}\sum_i\sum_j[a_i\leqp_j]\),这样就不用管一些乱七八糟的东西了谢谢喵>w<......
  • 经典trick记录
    主要记录一些平时见到的比较巧妙的tirck。无向图三元环计数做法:按照节点度数从小到大枚举每个点\(i\),然后枚举与之相连的点\(x\),再枚举与\(x\)相连的点\(y\),如果\(y\)与\(i\)有连边且这三个点度数递增即合法。复杂度分析:下文默认\(n\),\(m\)同阶。考虑根号分治,将点......
  • 2024“钉耙编程”中国大学生算法设计超级联赛(5)
    Preface唉感觉最近把把红温负作用啊,这场就中期写05被卡常了就红温了一整场,放着更简单的题不写就疯狂乱搞结果不出所料地被打爆了,只能说是好似,赛后发现甚至有个题是去年一轮的原,结果比赛的时候没一个人看题意,属实绷不住了感觉现在每场的策略和心态都有很大问题啊,不把这些问题......
  • 暑假解题记录-part-3
    [陇剑杯2021]wifi先去分析了一下客户端.cap的wifi流量,能看出wifi被加密了,但是能得出wifi的名字为My_Wifi一般来说要用到工具去破开wifi的密码了不过这里给出了了windows的内存镜像,在windows里,只要连接了wifi,这个wifi的信息就会被保存在一个xml文件里接下来分析镜像,寻......
  • 记录一次错误,鸿蒙网络请求因未接收到token而报错
    项目场景:一个电商平台的项目问题描述明明添加了token拦截器但是在购物车界面却还是显示没有tokenexportfunctionhttpRequestGetWithToken(url:string,params?:string):Promise<BaseResp>{//获取tokenlettokenValue=DPUtils.getValue('token')asyncgetVal......
  • 2024-8-2 信友队模考总结
    开考没有一道题一眼,感觉要没,不好搞。开考就一直看T1,想出来20pts暴力解法,之后就一直停滞不前,尤其是T3直接蒙了。想了一个多小时还没开始写,感觉真的没了。开写T1暴力先放放,去搞T2,很快写出来但是被自己证伪了,于是去看T3。想出来一个完完全全的大搜索但是感觉连部分分都拿......
  • Java学习记录
    对java进行配置通过下载jdk文件,然后在系统中设置环境变量,将新建变量JAVA_HOME,写入正确的jdk文件的路径接着在path中新建变量,将jdk的文件路径导入测试jdk是否安装成功:打开cmd在运行框输入cmd,如果显示如下信息则表示jdk安装成功Java语言的版本JavaSE​标准版,是为开发......
  • 2024.8.2 test
    A有长度为\(n\)序列\(A\),你要把构造长度相同的序列\(B\)使得\(\sumB_i=m\)。满足随机打乱\(B_i\)后,期望\(\sum[A_i>B_i]\)最小,求这个值。\(n\le1000,m\le5000\)。我们考虑背包,也就是\(0\simm\)的数选\(n\)个出来,和为\(m\)。设\(sum_i\)表示\(A_i\)里......
  • ISC.AI 2024人工智能峰会——个人笔记
    个人记录篇360开放明星场景,邀请国内最强大模型合作名单:零一万物,华为云,科大讯飞,百度,火山引擎,商汤,360,智谱AI,百川智能,腾讯,MiniMax,面壁智能,阿里云,DeepSeek,学而思(九章大模型)。网络安全专项扶持政策上海市普陀区:详情见视频回放“ISC.AI2024上海AI峰会”的28分42秒至47分整。......