首页 > 其他分享 >9.28

9.28

时间:2024-09-29 20:47:43浏览次数:1  
标签:赛时 最大值 9.28 补图 贪心 dp equiv

突然发现自己之前一场 ARC ,评分分别为 1110 和 1049 的 A 和 B ,赛时一点思路没有。
然后打开了几道 AGC 评分 2000 左右的 A 和 B,结果发现自己连 1701 的 A 题都觉得很困难。
然后为今晚打 ABC 光荣 rk1468 埋下伏笔。

我承认 \(99\%\) 都是看的题解。

agc066_a

给网格进行黑白染色,让其中一种点 \(\mod2d\equiv d\) 另一种 \(\mod2d\equiv0\) ,或者反过来,因为这两种方案代价总和为 \(dn^2\) ,所以一定有一种方式代价 \(\le\frac{1}{2}dn^2\)

agc067_a

我觉得这个挺难的啊,在补图上团就是独立集了,然后问题就变成补图任意导出子图都存在点数不少于一半的独立集,发现不合法的情况当且仅当补图存在奇环,也就是说如果补图是二分图,那么就一定合法,然后用并查集判断一下是不是二分图就好,补图边数 \(\frac{n(n-1)}{2}-m\) 如果 \(>\frac{n^2}{4}\) 那么就不合法了,然后这么先判一下,这样复杂度就保证了。

agc065_a

原式可变为 \(a_n-a_1+pk\),其中 \(p\) 是满足 \(a_i > a_{i+1}(1 \le i \le n-1)\) 的下标 \(i\) 数量。显然若 \(c\) 是 \(p\) 能取到的最大值,只有 \(p \ge c-1\) 时才能产生最优解,像我只能想到倒序排序,然后发现如果有相同的数不一定行,于是找出出现次数最多的数,设出现次数为 \(m\),分别考虑分成 \(m\) 组和 \(m-1\) 组。
\(m\) 组的贡献是确定的,即出现了 \(m\) 次里的数字的最小值 \(x_1\),减去出现了 \(m\) 次里的数字的最大值 \(x_2\),此时答案即是 \(ck + x_1 - x_2\)
\(m+1\) 组贪心的把出现次数小于 \(m\) 的都放在中间,剩下的考虑扔到最左边还是最右边,我们贪心的想右边最小值减左边最大值最大,所以我们可以定一个阈值 \(x\),大于 \(x\) 的不放在第一组,小于等于 \(x\) 的不放在最后一组。那么,此时的答案是 出现 \(m\) 次且大于 \(x\) 的最小值 减去 出现 \(m\) 次且小于等于 \(x\) 的最大值。排序出现 \(m\) 次里的数字,枚举相邻项的差即可。设差是 \(d\),答案是 \(d + (c-1)k\)

agc065_b

正着想很难想,同时我们发现操作是可逆的,于是我们可以对 \(P\) 操作,每次从 \(P\) 中删去 \(i\) 再插入 \(i\) ,\(i\) 依次从 \(n\) 到 \(1\) ,考虑操作 \(i\) 时,\(i+1\) 为 \([i+1,n]\) 中位置最小的,而 \([1,i]\) 还没动过,所以可以根据 \(i+1\) 的位置浅判一下 \(i\) 当前在 \(i+1\) 的左侧还是右侧。
设 \(dp_{i,j}\) 为 \(i\) 插入到位置 \(j\) 的方案数,这次转移若 \(i\) 在 \(i+1\) 左侧,则可转移到 \([1,j-1]\) ,否则可转移到 \([1,j]\) ,维护差分数组最后前缀和就好。

abc372_f

这个一眼就能想成平衡树优化 dp,但是发现除了区间平移之外只有若干单点加,杀鸡焉用牛刀?平移一下头指针就好。

abc369_g

赛时把博弈忘了,第一眼觉得是长剖但是认为假掉了,最后想出来个 nb 写法才发现忘了还有个人博弈了。
正解就是长剖一下贪心选前 \(k\) 大。

abc132_f

想到数论分块,然后优化一下 dp 状态就好了,复杂度 \(O(k\sqrt n)\)

arc183_c

很遗憾的是区间 dp 再次从我的脑中消失了。
这种比较难顺着 dp 的考虑区间 dp(因为数据范围在那摆着),\(f_{l,r}\) 就是区间 \([l,r]\) 合法的方案数,转移时枚举合法的最大值位置进行转移。

abc366_g

高斯消元解线性异或方程组,但是没太理解自由元的赋值,还好 rand 可过。

abc371_g

赛时去写巨大恶心根号分治了,没发现还有这么简单的写法。
我们处理一个环后,会对置换的次数 \(x\) 加上一个形如 \(x\equiv a\pmod m\) ,我们发现

\[x\equiv a \pmod m \Leftrightarrow x\equiv a_i\pmod {m_i^{\alpha_i}} \]

其中 \(m_i, \alpha_i\) 是 \(m\) 的标准分解。

那么可以分解出环长的质因子。设 \(f(p)\) 表示当前同余方程的解模 \(p\) 的值。那么枚举操作次数 \(k\) 的同时,要满足对环长的每一个质因子 \(p\),\(k \bmod p\) 都和 \(f(p)\) 相同。满足这个条件的情况下,再让字典序尽可能小。

于是我们做完了。

abc373_g

赛时急眼了不说了,这个题很唐,但是手写费用流会 T ,所以 ATcoder 封装的费用流怎么跑的那么快啊?

abc373_f

对于相同 \(w\) 按 \(v\) 从大往小贪心取,是个凸函数,然后正常做 01 背包就好了。

标签:赛时,最大值,9.28,补图,贪心,dp,equiv
From: https://www.cnblogs.com/ZepX-D/p/18438564

相关文章

  • 「比赛记录」AtCoder abc373 (9.28)
    CTH想看F题解,于是先发出来F.KnapsackwithDiminishingValues属于是翻译官方题解了首先我们设\(dp_{w,j}\)表示从权重为\(w\)或更小的物品中选总重为\(j\)的物品可以得到的最大幸福度。考虑\(dp\)的转移。我们把所有物品按照权重\(w\)分为多组,(每一组中所有物品......
  • 史上最详细论文word排版格式指导规范保姆级教学(2024.9.28)!
    前言首先,每个学校的论文排版格式都是不太相同的,但大体上都是相似的。正常来说,论文的排版操作是十分枯燥并且重复的,但是word中的样式工具使得论文排版会变得容易。接下来我将以某个学校论文格式要求为例,进行论文格式排版的操作。全文一共有5500多字,你只需要辛苦一次将这......
  • R机械设计V4.2(2024.09.28)
    下载:https://pan.baidu.com/s/1Dphz0m8BQWcg-T-AaeoaYA提取码:0520R机械设计V4.2(2024.09.28)更新:1、新增齿轮计算模块2、新增同步带计算模块3、新增耗气量计算模块4、全新自定义模块,(可导入旧版本数据)5、更新螺钉数据6、修正“一般设计资料-过程”速比参数  ......
  • 2024.9.28 bisect 模块
    bisect模块是Python标准库中的一个模块,主要用于维护已排序的列表。它提供了一些函数,帮助你在一个有序序列中查找元素的插入位置,以便保持序列的有序性。以下是bisect模块的一些常用功能:常用函数bisect.bisect_left(a,x,lo=0,hi=len(a)):返回元素x应该插入到列表a......
  • 9.28.2
    importjava.util.Random;publicclassFourArithmeticOperations{publicstaticvoidmain(String[]args){Randomrandom=newRandom();for(inti=0;i<30;i++){intnum1=random.nextInt(100);intnum2=random.nextInt(100);intoperator=random......
  • 9.28
    1:在Java中,枚举类型是一种特殊的数据类型,用于定义一组有限的常量值。以下是枚举类型的一些基本用法:一、定义枚举类型二、使用枚举常量三、遍历枚举常量四、在switch语句中使用枚举常量五、添加属性和方法2:在Java中,double类型的数值进行运算得不到“数学上精确”的结......
  • csp模拟赛 6 9.28
    0+40+10+0一言以蔽之曰“一上午白干”T1一般图最小匹配首先,对答案有贡献的点对一定在排序后的位于相邻位置所以排序后取出所有\(a_{i+1}-a_{i}\)但不能像Kruskal一样每次取最小,因为其只需要考虑连通性,不涉及其它限制。所以用dp或者可反悔贪心取最优解点击查看代码#in......
  • 2024.9.28 代码源模拟赛
    省流:\(45+20+5+0=70\)简称:唐诗在此膜拜\(klz\)\(Heldivis\)\(Sorato\)\(czl\)\(Ech0\_7\)yxanslihe_qwq大佬T1先看的T1,想了一个拓排(其实是看错题了),然后过了第一个样例,然后咋调都过不去,就去码暴力了。过了大概10min发现看错题了,然后一会就想出来个\(O(n^2)\)......
  • 2024.9.28 计划
    项目学习ROS第二章学完背包问题求方案数背包问题求具体方案总结ROS第二章总结三种基本的通信方式都解决了。步骤和框架参照上两篇和ubantu中的demo框架即可。前两种通信方式的比较:发布-订阅模式服务器通信通信模式发布/订阅请求/响应同步性异步同......
  • 团队练习记录2024.9.28
    B-MagicalSubsequencehttps://codeforces.com/gym/103447/problem/B桶+stack,这里用map会TLEstack用一次时间复杂度\(O(1)\)\(156ms/1000ms\)#include<iostream>#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;voidfio(){ ios::sync_wit......