首页 > 其他分享 >XXI Opencup, Grand Prix of Korea

XXI Opencup, Grand Prix of Korea

时间:2023-07-08 17:33:06浏览次数:27  
标签:min sum Opencup Prix Grand XXI DP

目录

XXI Opencup, Grand Prix of Korea

OpenCup强度这么大吗(

A

根据 Hall 定理, 把 \(a\) 从大到小排序对于 \(\forall x \in [1, n]\) 如果有 \(\sum_{i = 1} ^ xa_i \leq \sum_{i = 1} ^ m \min \{x, b_i\}\) 则等价于可以分发完全。

使用线段树维护 \(\forall x \in [1, n], \sum_{i = 1} ^ m \min \{x, b_i\} - \sum_{i = 1} ^ x a_i\) 。对 \(a_i\) 修改的时候直接改维护一下顺序就是, 对 \(b_i\) 改的时候也是一个区间修改, 维护一下全局最小值。

D

对于任意三元组, 要求三边最小值不唯一, 换言之, 三元组可拆成两条链, 使两条链上最小值相等。

然后开始猜

完全图的东西构造出来一般总和生成树有点关系, 最小生成树好像没用, 最大生成树好像有点神秘的性质。

对于最大生成树上的点 \(i, j, k\) 有 \(w(i, j) \leq \min \{ w(j, k), w(i, k) \}\) 。假设 \(i, j, k\) 相邻, 则 \(w(i, j) \geq \min \{ w(j, k), w(i, k) \}\) , 把不等式推一下, \(i, j, k\) 不相邻, 后者同样成立。 那这样限制就很强了。

构造最大生成树, 判断链上最小值是否等于每条非树边即可判断是否合法。答案在建立树的时候顺带算完, 连通块之间的边直接设成 \(1\) 就好。

H

先考虑怎么判断一个数 \(t\) 是否合法。

从大往小考虑, 需要 \(t - 1, t - 2, t - 3 ...\) 。

对于 \(t - 1\), 需要 \(t - 2, t - 3, t - 4...\) 。

从大到小考虑, 每次贪心分配一下就搞完了。

答案显然可以二分, 注意特判 \(1\) 。

K

直接 sort 一下倍长就完事了。 咋签到题通过数这么少啊。

J

离线所有操作, 把模拟机器人变成模拟起点移动, 用个 map 存每个位置有哪些询问, 每次起点撞到机器人就把机器人往移动方向推, 合并的时候启发式合并即可。

F

以前做过的费用流题, 用 Dijskra 优化的费用流跑跑。

没法直接跑 spfa 重赋权, 发现图是个 DAG, DP一下即可。

I

咋感觉好像考过。

带权dfs序(把点 \(i\) 写 \(A_i\) 遍)的中位数在重心的子树里面。 找到这个点向上倍增找重心完事。

这一性质成立显然, 因为重心子树对应的区间长度必定大于一半。

E

题目是问有多少个区间的导出子图是一条链。

BZOJ 上好像有问有多少个区间的导出子图是一棵树还是说没有环来着的版本, 直接用一个 LCT搞定。

考虑这个题是链, 尝试加强限制。

  • 没有环, 这个用 LCT 搞定, 枚举右端点, 判断合法的左端点可以去掉段前缀
  • 没有度数大于2的点, 扫右端点的时候维护一下度数, 也可以去掉一段前缀。
  • 边数等于点数 - 1。 令 \(c_i\) 表示 \([i, r]\) 导出子图的边数, \(i\) 合法当且仅当 \(r - i = c_i\) ,维护 \(c_i + i\), 因为边数只会少不会多, 查询最大值和最大值个数即可。

麻了, 老年人不会写代码挂了114514发。

G

一眼 DP of DP。

先考虑判断, 设 \(f_{i, j}\) 表示考虑前 \(i\) 个, 目前 LCS 长度为 \(j\) 最靠前匹配到的位置, 由于 \(j \geq i - 3\), 且这个位置和 \(i\) 也只相差 \(3\) , 把这个位置也压进状态进行 DP。设 \(f(i, a_0, a_1, a_2, a_3)\) 表示当前匹配到 \(i\), 长度为 \(i - t\) 的LCS最靠前的匹配位置和 \(i\) 的距离, 枚举转移即可。

不会做了要给cy打工了不做了

标签:min,sum,Opencup,Prix,Grand,XXI,DP
From: https://www.cnblogs.com/clover4/p/17537553.html

相关文章

  • 「解题报告」XXI Open Cup, Grand Prix of Tokyo
    猜猜为什么四五天没更博了?攒了个大的。非常好OpenCup,10个998244353,爱来自陶瓷❤快写死我了,终于写完了。十道题里只有三道题是自己做出来的。我好废物。CodeforcesGym官方题解A.AscendingMatrix开幕雷击。首先考虑没有限制怎么做。由于优秀的单调性,我们可以对于每......
  • 2021 Summer Petrozavodsk Camp, Day 3 IQ test (XXII Open Cup, Grand Prix of IMO)
    AND先看最小值是不是所有的子集,如果不是就无解,否则把剩下的中间塞一个最小值就好了。submissionMath移项,平方差变成\(a_j=(k-a_i)(k+a_i)\),爆枚\(k-a_i\)和\(k+a_i\)就是\(O(A\lnA)\)的。submissionFancyFormulas首先我们发现操作不改变\((a+b)\bmodp\),因此如果......
  • 智能且集成的端到端移动应用程序安全解决方案——Quixxi简介
    移动应用程序安全变得简单快捷Quixxi是一种智能且集成的端到端移动应用程序安全解决方案。这个强大的工具可供开发人员在几分钟内保护和监控任何移动应用程序。 QuixxiSecurity评估应用程序,以便您了解它们有哪些漏洞。它允许您对应用程序进行渗透测试,并在应用程序周围放置......
  • [vp记录] 2021 Summer Petrozavodsk Camp, Day 3: IQ test (XXII Open Cup, Grand Pri
    2021SummerPetrozavodskCamp,Day3:IQtest(XXIIOpenCup,GrandPrixofIMO)A(性质,转化)发现如果存在\(b\)中存在\(0\),那么直接构造\(b_1,0,b_2,0,\dots......
  • gym102916 XXI Open Cup, Grand Prix of Samara
    A.Absenteeism这题是想的越多写的代码越少。首先根据题目中的约束,可以弄出一堆矩形,直接线段树加扫描线就行。其实不算难写。开始推性质,找简洁的做法。求的区间为\([x......
  • gym103469 XXII Open Cup, Grand Prix of IMO
    A.AND找到最小的值\(a\),如果存在\(x\anda\not=a\)无解。否则可以把\(a\)作为\(0\)使用,即在每两个数之间放上\(a\)。#include<bits/stdc++.h>usingnamespac......
  • The 2021 CCPC Guilin Onsite (XXII Open Cup, Grand Prix of EDG
    https://codeforces.com/gym/103409/problem/BB.APlusBProblem—————数据结构(set)题意给你两个n位的数a,b(有前导零),c是a+b的结果(最高位的进位已省略)q次询......
  • 【题解】XXI Opencup GP of Tokyo Count Min Ratio
    有\(R\)个红球,\(B\)个蓝球和一个绿球,同色球之间无区别。将其任意排列,令\(l_R,l_B,r_R,r_B\)分别为绿球左/右边的红/蓝球数量。定义一个方案的权值为\(\max\{x\i......
  • 2020-2021 Winter Petrozavodsk Camp, Belarusian SU Contest (XXI Open Cup, Grand P
    AC题目列表C.BraveSeekersofUnicornsD.BankSecurityUnificationG.BiologicalSoftwareUtilitiesI.BinarySupersonicUtahraptorsJ.Bur......
  • XX Open Cup, Grand Prix of Tokyo D,L
    D二分max值为L,判定能否使用\(\leqL\)的数构造出答案。暂时不管L的限制。此时如果我们有一组解,表示为\(c_{0},c_{1},...,c_{60}\),其中\(c_{i}\)是有多少个数在第\(i\)位......