首页 > 其他分享 >NOIP2024模拟1

NOIP2024模拟1

时间:2024-07-09 14:34:05浏览次数:9  
标签:DP 最大值 NOIP2024 模拟 考虑 预处理 dp

NOIP2024模拟1

掉大分,哈哈哈。

好像有的人对比赛评价不太好,我觉得还行,除了 \(4\) 个小时 \(5\) 道题以外。

wang54321:主要是我打的比较唐。

还有经典没 \(SPJ\) ,但后交的竟然有?

  1. T1 分糖果

    签到题。

    但没签成

    考虑对 \(3\) 取余,只有四种合法 \(0,0,0|1,1,1|2,2,2|0,1,2\)

    考虑 \(3\) 个 \(0,1,2\) 可以拆成 \(0,0,0|1,1,1|2,2,2\),所以直接枚举有几个 \(0,1,2\) 即可。

    几个经典错解的 \(hack\):

    优先 \(0,1,2\):

    7
    3 1 1 1 2 2 2
    

    优先 \(1,1,1\) 等:

    8
    3 3 1 1 1 2 2 2
    
  2. T2 乒乓球

    码农题。

    发现显然有循环节。

    发现就算特判了永远不会结束的情况,也可能会追到很高的分。

    考虑追分以后真正的分值已经没有意义,直接记录差值即可。

    预处理出经过一轮后每个状态的下一个状态和 \(A,B\) 各赢几次,在找循环节做即可。

    细节不少,大师有一种好写的做法,就是直接暴力跳,只有在有人赢时才判一下是否已经在这里赢过了来找循环节。

    看似可以卡到 \(k^2\),但考虑在同一位置的同一状态一定会有同一赢点,所以和上面做法复杂度相同。

  3. T3 与或

    结论题。

    发现对于任何情况,将 & 放在 | 前一定更优。

    可以先前面全是 |,后面全是 & 求理论最大值。

    但是要保证字典许最小,所以考虑将 | 前提。

    挨个位置考虑,如果放 | 后后续最大值依然和理论最大值相等就可以放 |

    求后续最大值可以按位贪心,也可以 \(ST\) 表维护区间 & 加预处理后缀 |(虽然 & | 之间没有结合律,但各自都满足结合律,将他们的一个符号前提即可)。

  4. T4 跳舞

    \(DP\) 题。

    考虑 \(dp_i\) 表示到 \(i\) 并且 \(i\) 还活着的最大贡献。

    发现转移需要知道是否可以消除 \([l+1,r-1]\) 一段并且 \(l,r\) 还活着。

    考虑用 \(DP\) 区间 \(dp\) 预处理,设 \(g_{l,r}\) 表示从是否可以消除 \([l+1,r-1]\) 一段并且 \(l,r\) 还活着,显然转移。

    通过预处理 \(\gcd\) 可以做到 \(O(n^2\log n)+O(n^3)+O(n^2)\) 的。

  5. T5 音乐播放器

    \(DP+\) 结论题。

    首先我们知道,当听了 \(i\) 首歌后听任意一首新歌的概率都是 \(\frac{1}{n-i}\)

    考虑其和排列类似,所以听 \(i\) 首歌的所有情况是等概率的。

    考虑 \(dp_{i,j,k}\) 表示前 \(i\) 首歌听了 \(j\) 首,总愉悦程度为 \(k\)。

    则 \(x\) 的答案为没听第 \(x\) 首的合法(加上其可以超过 \(S\))方案数乘上排列产生的系数除掉总数。

    直接转移对于每个 \(x\) 都是 \(O(n^2S)\) 的,总复杂度 \(O(n^3S)\)。

    考虑提前将所有都转移了,每次在减掉 \(x\) 贡献可做 \(O(n^2S)\)。

标签:DP,最大值,NOIP2024,模拟,考虑,预处理,dp
From: https://www.cnblogs.com/xrlong/p/18291778

相关文章

  • the-ONE 模拟器的使用 osm转换wkt
    处理osm数据目录处理osm数据1.使用网站进行处理获得地图数据将导出的文件转化为csv格式对数据进行处理2.使用osm2wkt进行处理利用osm2wkt对导出的osm进行处理总结1.使用网站进行处理获得地图数据通过https://www.openstreetmap.org/搜寻想要的地图,选择想要的区域,导出osm格式......
  • NOIP模拟1
    赛时rank3,95,30,40,5,5赛后hack,rank7,40,30,40,5,5\(太CAI了\)T1分糖果简要题意:将\(n\)个数分成最多组,使得每组有\(3\)个人,每组的数字和能被\(3\)整除,输出组数和方案\(n≤10^5,1≤a_i≤10^5\)\(solution:\)将每个数\(\mod3\)存入,则有三类:余数为0,1,2;可以的方案有三种\(0,0,0\),\(0,......
  • 原生js简单模拟移动端下拉刷新
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>Docu......
  • 手写简单模拟mvc
    目录结构: 两个注解类:@Controller:packagecom.heaboy.annotation;importjava.lang.annotation.*;/***注解没有功能只是简单标记*.RUNTIME运行时还能看到*.CLASS类里面还有,构建对象久没来了,这个说明是给类加载器的*.SOURCE表示这个注解能存活到......
  • YC311A [ 20240701 CQYC省选模拟赛 T1 ] 好串(good)
    题意给定一个长度为\(n\)的\(01\)串。定义一个串是好的当且仅当该串的所有前缀以及所有后缀的\(1\)的数量大于等于\(0\)的数量。你需要维护\(q\)个查询,每次求\(S_{l,...,r}\)的子串最少添加的\(1\)的个数使得该子串是好的。Sol首先不难发现一个正确的贪心,也......
  • C语言之考勤模拟系统平台(千行代码)
    考勤模拟系统平台目录第一章软件需求分析...1第二章系统结构设计...32.1系统架构...32.2系统组件...32.3系统流程...3第三章数据结构设计...4第四章模块划分及各模块功能介绍...64.1用户模块(UserModule)...64.2组模块(GroupModule)...64.3打卡模块(Cloc......
  • 基于Matlab模拟城市环境中非地面网络(卫星/无人机)无线电信道
     ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,代码获取、论文复现及科研仿真合作可私信。......
  • Python和MATLAB微机电健康推导算法和系统模拟优化设计
    ......
  • 双向链表模拟
    LinkedList底层结构LinkedList底层实现了双向列表和双端队列的特点可以添加任意元素可重复,包括null线程不安全,为实现线程同步底层操作机制LinkedList底层维护了一个双向链表。LinkedList中维护了两个属性first和last分别指向首节点和尾节点每个节点对象(Node对象),里面又维......
  • ENSP模拟实验-HCIA综合大实验
    实验拓扑图:实验要求:ISP路由器仅配置IP地址内网基于192.168.1.0/24网段进行IP划分R1.R2之间使用OSPF做到内网全通,单区域PC1-PC4使用DHCP获取地址PC2-PC4可以访问PC5,PC1不行R2出口只拥有一个公网IPtest-1设备可以登录内网telnet服务器,test-2不行实验过程:1.IP地址规划内网......