首页 > 其他分享 >模拟赛 2

模拟赛 2

时间:2024-11-17 08:58:01浏览次数:1  
标签:限制 pos 括号 区间 考虑 极值 模拟

11.16

T2

先考虑前两个限制,发现都是与奇偶性相关的,考虑建二分图,在不考虑第三个限制下是一个最大独立集计数。

发现由于连边方式是每一位向相邻两位连边,那么最大独立集数一定是 \(\frac{n}{2}\),并且一定形如先选一段奇数再选一段偶数的形式。

再考虑一下第三个限制,考虑对每个配对的 \((l,r)\) 加上一条 \(l\to r\) 的边,发现只有最外层括号的限制是有用的,因为内层括号的限制一定被外层括号的限制包含,那我们考虑枚举奇数和偶数的分界点,发现每个限制实际上就是形如区间 \([l,r)\) 不能选,我们考虑把左括号设为 \(1\) 右括号设为 \(-1\) 那么能选的 \(r\) 实际上就是前缀和为 \(0\) 的地方,上线段树维护即可。

T3

考虑没有包含关系是好做的,在离散化后你暴力修改覆盖区间是均摊 \(O(1)\) 的,考虑有了区间包含后一定优先选择被包含的区间,那我们考虑维护一个待选区间的集合,每次取出最小的区间后将包含他的且不被别的区间包含的区间加入即可。

比较简单的实现方法是拿线段树优化建图建出一个 DAG。

P11281

小猜一手结论有最后的合法状态肯定是形如 \(p_{p_i}=i\) 的,先把给定的限制加上,然后若干不确定的位,数量记为 \(m\),再钦定若干位为 \(p_i=i\),然后剩下的位置两两配对算方案数就行。

P11282

考虑按 \(pos\) 的奇偶性分类讨论。

对于 \(pos=1\lor pos=n\) 的数,不难发现在 \(n>3\) 时均有解。

对于偶数位,考虑先对 \([1,pos-1]\) 和 \([pos+1,n]\) 进行操作,那么最后肯定会剩下三个数,因为我们只在意首位两个数与 \(p_{pos}\) 的大小关系,所以我们只用关心极值就行,规定大于为 \(1\) 小于为 \(0\),假如最后能有 \(11\) 或 \(00\) 的情况就是有解,否则无解。

对于奇数位,考虑同样按上面做,那么最后会剩下来五个数,我们还是只考虑和 \(p_{pos}\) 的大小关系,那么最后只有 \(0110,1001,0011,1100,0000,1111\) 六种状态是合法的,因为左右是对称的所以我们只考虑前两个数,对于这些合法的状态我们贪心的让他们尽量被取到,对于第二个数也就是紧贴 \(pos\) 的数,我们选择距离 \(pos\) 最近的 \(0/1\),因为我们要让他保留下来所以对于 \([1,pos-1]\) 的前缀要分给他一个奇数长度的后缀,我们让这个后缀尽量小的前提下,对于剩下的那个前缀去选择他的极值留下来,这样的情况下选择的极值一定是最优的,然后将极值与 \(p_{pos}\) 比大小判定即可。

标签:限制,pos,括号,区间,考虑,极值,模拟
From: https://www.cnblogs.com/NtYester/p/18550226

相关文章

  • esxi6.7 安装仿真网络模拟器PNetLab v6版本
    安装仿真网络模拟器PNetLabv6版本Installationinstructions-PNetLabv6BETAreleaseReadthefullinstructionsandimportantnotesbeforestartingtheprocess.Afteryoufinishreadingthem,followtheprocessstepbystep.Step1DownloadtheUbuntuServer......
  • 2024-11-16模拟赛
    前言:下午两点开始,OI赛制\(4\)道题,总分\(140\),一分没挂就是赢。以下题目顺序按开题顺序。T1:数论,\(50\)分暴力是简单的,速码。考虑对\(k\)质因数分解,思路是正确的,但是不知道如何找最小的\(n\),遗憾收场。T2:模拟,\(60\)分是简单的,速码。考虑用个东西对每列最下面的可移......
  • [考试记录] 2024.11.16 noip模拟赛14
    T1字符串构造机考虑将一个LCP条件拆分成两个,一个是相等的部分,使用并查集维护,另一个是不等的部分,两个串末尾的字符一定不相等,随便那啥维护。对于非法情况就是在同一个相等联通块内有不相等的条件。然后考虑从前往后贪心即可。#include<bits/stdc++.h>usingnamespacestd;#d......
  • 241116 noip 模拟赛
    省流:\(100+100+100+5\)。T1题意:给一个括号序列\(s\),求出长度最小的\(s\)的子序列\(t\),满足\(t\)是合法括号序列且删掉\(t\)后\(s\)是一个特殊的序列。定义特殊的序列为长度\(2n\),前\(n\)个都是(,后\(n\)个都是)。\(n\leq3\times10^6\)。可以枚举特......
  • 蓝桥杯模拟赛(第一期)个人题解&感想
    林专大一牲第一次写blog,更新较慢,写的不好的地方请见谅(好多题目忘记了题号and暂时没有题目要求的内容…后面会补充的!)本次带来的是蓝桥杯模拟赛第一期的个人题解(笨人水平较低,大家可以在评论区指出错误/讨论更优解~)大多题我是用c++写的,但也掺了几道c,为以后全面用c++打比赛作过......
  • [DMY]2024 NOIP 模拟赛 Day 9
    比赛7:30开始,我8:10到的机房。赛时T1看了一眼后以为是双指针,然后开始写,写到一半发现假飞了。想了一会发现除了随机化以外没有任何思路,所以写个\(n^2\)暴力就扔了。去看T2,像是个DP题。先把组合数复杂度的暴力写了,发现不太好写。我用了\(n\)遍dikstra,但其实用Floyd......
  • 1116及1115模拟赛
    \(T1\),大师,我悟了(doge)。树上问题可转化为二维偏序关系,一维是题目中要求的大小关系(也可以是等于),一维是数上某序关系(常为dfs序),用数据结构维护或扫描线等维护一个维,处理另一维。这道题考虑询问时每个结点由哪些节点贡献来。当\(u\)是\(v\)的祖先(dfs序关系)且\(dep[v]-dep[u]=time[v......
  • 炼石计划 NOIP 模拟赛 #20
    A.\(kx+(\sum_{i=1}^{k}a_i-1)\timesy=k(x-y)+y\times\sum_{i=1}^{k}a_i\)\((a_1-1)*1+(a_2-1)*(a_1-1)*1+(a_3-1)*(a_2-1)*(a_1-1)*1\)$\prod_{i=1}^{k}a_i>N$两数和相等时乘积最大,因此\(a\)数组中任意两个数的差的绝对值......
  • CloudCompare——CSF布料模拟算法
    布料模拟算法1、流程概述2、详细过程3、参考文献4.软件实现5.相关链接1、流程概述1)利用点云滤波算法或者点云处理软件滤除异常点;2)将激光雷达点云倒置;3)设置模拟布料,设置布料网格分辨率GR......
  • 『模拟赛』NOIP2024加赛5
    Rank反向挂分大王A.暴力操作(opt)签,但是没有人签。都想到了二分和更新c值,但是c多多少少没更到最优。首先还是调和级数预处理,倒序取min。然后考虑到超过\(m\)的也有可能产生更小的代价,因此\(\mathcal{O(n)}\)枚举一遍找到最小的\(j\)使\(i\timesj\gtm\),全部赋......