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

Pinely Round 4 (Div. 1 + Div. 2)

时间:2024-07-29 10:50:50浏览次数:6  
标签:二分 数字 Pinely 质数 异或 Div Round Mod

打的挺惨的,也算是活该吧。。总是沉浸在自己的舒适圈里,不肯跳出来,最近的总结和复盘也没认真做,回寝室明明应该做事情,但是就一直打游戏。。要是少打点游戏,也不至于最近这么长时间一场cf都没有vp过,手感这么差了。

不过这次的题目也确实是我的漏洞。

B因为初值的原因爆炸了,到最后都不知道为什么,今天一发就过了。。。真的蠢。

D,做的时候就感觉到思路肯定是循环,但是打表又没有办法解决染色的问题,导致我打表也没有看出来规律,到最后还是要依靠手推。可惜没退出来。

E,原本就是一个普通的二分图匹配,但是我想了想发现不太对劲,A是否必胜其实就是看这个图是否能够成为一个二分图,但是似乎A的必胜情况并不止这点。或者说非二分图的情况我操作B我可能无法保证必胜。

看完题解了,只觉得我自己是个sb。
直接填就可以了,如果二分图的某一边先填完,那么另一边就可以用3去填了,这样每次都一定能够保证有数字能够被合法的填上直到结束。我差点出来了。。。。。不过没出就是没出。

好简单的构造。。

淦,D题被lhgg秒了,我紫砂了。。

我草,我好像知道了,我赛时是出了思路的,结果当时因为心态爆炸,不想想了?
我们其实可以发现,两个数字如果\(Mod\ 4\)同余,就意味着这两个数字异或和是一定为4的倍数的,而4本身不是质数,4的倍数也一定不是质数,也就是说,两个数字,如果他们的差为4,他们就一定可以用相同的数字,因为他们之间一定没有边。于是我们高兴的发现,样例所给的6已经使用过了4个数字,而答案很明显随着n单调递增。

其实为什么是\(Mod\ 4\)而不是\(Mod\ 2\)之类的很好想,因为2本身是质数,而1自然是不行的,同时因为异或的原因, 按位考虑是一个很自然的贪心。

这个题目还是有点阴间了,这个\(mod\ 4\)和样例的联动。。怎么想得到的。
循环节的思路其实往下走就是这个答案的,但是确实麻烦,是我对于异或和二进制的理解不够啊感觉。。
与其考虑谁会连边,不如考虑谁不会连边。
其实看到质数的时候就应该意识到这个了,因为在我的数论知识内,异或和质数之间没有什么很著名的定理和关系之类的,也就是说,这题大概率不会是非常的巧妙的利用了质数和异或之间的什么奇怪共同性质,而只是应用了寻常的性质。这其实也就意味着,这题的情况一定不会非常复杂,通过简单的性质的推导就能够做出来。我赛时想的是保证下面异或起来为质数,然后上面异或起来为0,而正解则是考虑下面异或起来为0,上面异或起来为非质数。而事实也证明,题解的考虑方式的变化更少,情况更少,明显更优秀。但是我实在是找不到什么启发点让我去思考下面的构造。\(我听到了强运的回响\)

难蚌。我没有意识到两个点之间一定不连边对于染色意味着什么。这类题目做的少。主要是这个染色是个np完全问题啊,正常人谁拿这个出题啊??

标签:二分,数字,Pinely,质数,异或,Div,Round,Mod
From: https://www.cnblogs.com/HLZZPawa/p/18329628

相关文章

  • Pinely Round 4 (Div. 1 + Div. 2) 补题记录(A~F)
    打成乐子A容易证明下标为奇数的地方可以取到,下标为偶数的地方不可以取到。直接模拟时间复杂度为\(O(n)\)。#include<bits/stdc++.h>#defineintlonglongusingnamespacestd;constintN=1000100;inta[N];signedmain(){intT;scanf("%lld",&T);......
  • Codeforces Round 961 (Div. 2)
    Preface菜的批爆,B2一直WA道心破碎了直接白兰去了,鉴定为纯纯的飞舞本来想着周末补题的然后又摆了一天,E1和E2都没时间补了,鉴定为纯纯的懒狗A.Diagonals签到,贪心枚举即可#include<cstdio>#include<iostream>#include<utility>#include<vector>#include<cstring>#in......
  • SMU Summer 2024 div2 3rd
    文章目录TheThirdWeek一、前言二、算法1.KMP算法2.线性DP<1>(最长上升子序列II)3.背包DP<1>(「木」迷雾森林)4.其它<1>(Ubiquity)三、总结TheThirdWeek战略上藐视敌人,战术上重视敌人————毛泽东主席一、前言周六打了场cf,只过了俩题而且比较慢,给我的id上......
  • Solution - Atcoder ARC114F Permutation Division
    令\(a\)为题目中的\(P\)。首先考虑后手的重排策略是什么。因为\(a\)是个排列,元素互不相同,那么肯定就是按照每一段的第一个数的大小,越大的放在越前面。那么当\(a_1\lek\)的时候,显然先手会把以\(1\simk\)开头来划分段。因为否则存在一个开头\(>k\)的段,后手把其放......
  • Codeforces Round 962 (Div. 3) 题解 A-F
    A.LegsProblem-A-Codeforces1.1翻译农夫约翰的农场又迎来了美好的一天。农夫约翰来到农场后,数了数n条腿。众所周知,农场里只住着鸡和牛,一只鸡有2条腿,而一头牛有4条腿。假设约翰农场主数清了所有动物的腿,那么他的农场里最少有多少动物?1.2思路求最少有几只动物......
  • Codeforces Round 962 (Div. 3)
    题目链接:CodeforcesRound962(Div.3)总结:ABC秒过,D有点难评了,E优化很妙。A.Legstag:签到voidsolve(){cin>>n;inta=n/4,b=n%4;a+=b/2;cout<<a<<endl;}B.Scaletag:模拟voidsolve(){cin>>n>>k;......
  • Codeforces Round 962 (Div. 3) A - D详细题解(思路加代码Python,C++(垃圾灰名小白想
             吐槽一下,这次比赛不知道怎么的,可能是div3参加的人比较多吗,代码题解上去后全是inqueue,比赛的过程中我还看了提交的,80多页几千个提交全是inqueue,我的代码等了**半个多小时才运行,然后发现timelimit真的有点搞心态,思路在下一题我还要反过来去优化上一题,不过......
  • Codeforces Round 962 (Div. 3) CDE
    时间:2024-07-27C.Sort原题:C.Sort标签:前缀和题意给定字符串a,b定义\(sorted(a[l..r])\)表示将a的lr区间排序为有序有q次询问,每次给出区间l,r,要求通过操作使\(sorted(a[l..r])==sorted(b[l..r])\)操作为将\(a_i\)变成需要的任意字符,求最少次数思路一开始由于是div3,尝......
  • SMU Summer 2024 Contest Round 8
    SMUSummer2024ContestRound8Product思路注意到\(\prod\limits_{i=1}^NL_i\le10^5\),也就是说N不会超过16,因为\(2^{17}>10^5\),所以我们可以直接暴搜。代码#include<bits/stdc++.h>usingnamespacestd;usingi64=longlong;intmain(){ios::sync_with......
  • Codeforces Round 962(Div. 3)
    CodeforcesRound962(Div.3)A.legs题解:简单的贪心,可以对n预处理,将n除以2,此时可将动物视为1,则动物便是1条或两条腿,此时若是奇数才需要鸡,否则全部是牛便是最优解ShowCode#include<bits/stdc++.h>#defineANScout<<ans<<'\n'usingnamespacestd;voidsolve(){......