首页 > 其他分享 >Pinely Round 4 (Div. 1 + Div. 2) VP记录

Pinely Round 4 (Div. 1 + Div. 2) VP记录

时间:2024-08-27 18:25:29浏览次数:10  
标签:二分 那么 格子 Pinely VP 染色 Div 三角形

Pinely Round 4 (Div. 1 + Div. 2) VP记录

场上打了 ABCDF,被 E 二粉兔创飞了。

这场的构造题有:B D E G I,乐死了。

A

把数列黑白染色,第一个格为黑色,那么每次删除会删除一个黑格子和一个白格子。而黑格子始终比白格子多一个,因此最后选到的是黑格子。答案极为黑格子的最大值,也易证一定存在这样的构造。

B

我发现这种位运算构造是我的弱势区。很逆天的写了 25 分钟,相比下 C 写了 5 分钟。

一开始初始化所有 \(a\) 为 \(0\),枚举 \(b_i\) 后令 \(a_{i}\) 和 \(a_{i + 1}\) 按位或上当前的 \(b_i\) 即可。

C

每次用最大值和最小值的 mid 操作,这样每次操作后值域会减半。

最后检查数组是否全为 \(0\) 判掉无解即可。

D

考虑把数分为奇数和偶数两类。

质数除了 \(2\) 都是奇数。同奇偶性异或同奇偶性是偶数否则是奇数。

如果把 \(2\) 看成合数,那这张图是二分图,这个时候可以黑白染色。

但实际上不行,因为有 \(2\) 的参与。

如果两个数字异或起来等于 \(2\),那么这两个数字不能是同色。也就是,对于一组数 \(a, a + 1, a + 2, a + 3\),其中 \(a\) 是 \(4\) 的倍数,第一个数和第三个数不能同色,第二个数和第四个数不能同色。

所以一定能四染色,\(i\) 号点染 \((i \bmod 4) + 1\) 即可。

E

为什么我 D 能想到二分图但是 E 想不到呢。。

注意到如果题目不是二分图,它不能进行二染色,那么我们只要选 Alice 后一直给Bob 同样的两种颜色逼着 Bob 要对一个非二分图二染色,然后就赢了。

否则选 Bob 能必胜。考虑二分图的左部点和右部点,各给它们一种颜色对应。那么 Alice 的三选二必然会给出一种对应一部分的颜色,那么如果这个时候那部分点还有剩就直接拿出来染成对应颜色就行了,否则把另一部分染成 Alice 给的 另一种颜色。

F

判能不能形成三角形,一般有个折半 trick。

就是,将一个区间的小棒长度排序后,从大到小看,如果当前最大的三个数不能组成三角形,也就是 \(a_i \ge a_{i - 1} + a_{i - 2} \implies a_i \ge 2a_{i - 2}\),所以两步后值域减半。

然后这个数列最坏情况是斐波那契数列,所以大概看看如果区间长度大于 \(50\) 就一定可以组成两个三角形。(场上我用的 \(100\) 判断,因为没细分析)

那么区间长度小于 \(50\) 了,就可以随便做了,好像有人 \(O(k^3)(k = 50)\) 过了。

但是有 \(O(k)\) 的做法。首先先尝试拿走最大的三角形后能否再拿一个,先把这种情况判掉。

如果不行,那有可能是两个三角形卡在一起了,例如样例的 \([5, 2, 2, 10, 4, 10]\)。

那么因为我们排序了,所以如果存在这种情况,必定能在一段连续的 \(6\) 根小棒中找到,所以对 \(\binom{5}{2}\) 种情况暴力判断一下即可。

G

把原图分成这样的四个区域。

令水平操作只放在左侧 \(k\) 列,垂直操作只摆在上方 \(k\) 列。

如果左下角区域和右上角区域没填完,就优先填这两块区域,否则填左上角的区域,优先填能导致消除的区域。

感性理解或者手摸一下,这么填能进行任意多次操作。(不是很会证明,但是自己在图上玩一下就大概感觉出它是对的)

然后模拟这一过程即可,这题变成了大模拟,但是也没那么大模拟。

暴力改能单次询问询问 \(O(nm)\),随便过了。

H

待补。

I

待补牛魔。

标签:二分,那么,格子,Pinely,VP,染色,Div,三角形
From: https://www.cnblogs.com/AzusidNya/p/18383298

相关文章

  • Codeforces Round 967 (Div. 2)
    题目链接:CodeforcesRound967(Div.2)-Codeforces总结:B题没测试就交wa一发,C题一直没想到怎么回溯,哎。A.MakeAllEqualtag:签到Solution:找到相同元素的最大值,将其它所有元素删去。voidsolve(){cin>>n;vector<int>a(n);map<int,int>mp;intans......
  • Codeforces Round 962 (Div. 3)
    A.Legs若只判断题,根据模4意义下分类即可。B.Scale模拟题,缩小同值矩阵即可。C.Sort对每个字母求前缀数量和,答案就是两端点的差。constintN=2e5+5;intT,n,q;chara[N],b[N];intc[N][26],d[N][26];signedmain(void){ for(read(T);T;T--){ read(......
  • 我请ChatGPT用五岁小孩能懂的方式解释VPN术语——现在我开始担心我的工作了
    作为Tom’sGuide的VPN编辑,本人日复一日地撰写关于最佳VPN的文章。我自认对使VPN运作的基本概念以及隐私软件常用的术语有很好的理解。当然,作为一名作者,我的工作是用简明的方式解释这些内容,帮助你们理解VPN的工作原理,不论读者的专业水平如何。不过,有时候,我也难免会陷入期望值......
  • Bi-MTDP:通过二值网络加速多任务密集预测,又快又提点 | CVPR 2024
    论文提出二值化多任务密集预测器Bi-MTDP,通过二值神经网络(BNNs)显著加速多任务密集预测模型,同时保持甚至提高模型性能。为了避免信息严重退化而导致二值化带来性能下降,论文引入了深度信息瓶颈层,在前向传播时强制要求下游任务表示满足高斯分布;此外,还引入知识蒸馏机制来纠正反向传播......
  • CVPR2024满分论文:基于可变形三维高斯的高质量单目动态重建方法
    一、摘要    隐式神经表征为动态场景的重建和渲染开辟了新的途径。然而,尖端的动态神经渲染方法严重依赖这些隐式表征,它们常常难以捕捉场景中物体的复杂细节。此外,隐式方法通常难以实现动态场景的实时渲染,限制了它们在多种任务中的应用。为了解决这些问题,我们提出了一......
  • Codeforces Round 968 (Div. 2)
    A.TurtleandGoodStrings题意:确定是否存在一种方案使得\(s=t_1+t_2+\cdots+t_m\),满足\(m>1\)且任意\(i<j\),\(t_i\)的第一个字母不等于\(t_j\)的最后一个字母。\(s_1\)和\(s_n\)一定不属于一个子串,因此\(s_1\nes_n\)是条件非法的必要条件。那么反......
  • Codeforces Round 968 (Div. 2)
    A.TurtleandGoodStrings思路:题意大致为把一个字符串分成若干段,要求每两段,前一段的首字符不能等于后的一段的尾字符,给你一个字符串,能不能构造出合法方案。观察到,分的段数越小,越有助于我们判断。所以,不妨分成两段,问题转化为判断首尾字符是否相等。代码:#include<bits/stdc++.......
  • [ARC182C] Sum of Number of Divisors of Product 题解
    题目链接点击打开链接题目解法我怎么不会分治/fn首先把\(x\)分解成\(\prodp_i^{x_i}(0\lei\le5)\)的形式,正因数个数为\(\prod(x_i+1)\)有一个很牛的想法是:合并两个\(x_i\)序列(假设一个叫\(x_0,...,x_5\),另一个叫\(y_0,...,y_5\))先不考虑后面的\(+1\)(可以最后......
  • Codeforces Round 968 (Div. 2)
    良心出题人给了中文题解!!!A.TurtleandGoodStrings长度为\(n\)的字符串至少分成两段,使\(\foralli<j\),第\(i\)段的首字符不等于第\(j\)段的尾字符第一个字符一定作为首字符,最后一个字符一定作为尾字符,只要判断这两个字符是否相等即可相等的话一定无解,不相等一定有......
  • EPIC Institute of Technology Round August 2024 (Div. 1 + Div. 2)
    Preface两个礼拜前打的比赛拖到现在才写博客,我只能说也是个神人了这场其实D2很快就想到做法了,但自己把自己给否了,后面不管了实现了一发交上去发现过了然后这天由于12点左右室友就关灯睡觉了,我写完D2后看了眼E没仔细想就睡觉去了,后面发现E其实很trivialA.Distance......