Wannafly Summer Camp Day2

Rank Solved A B C D E F G H I J K L
3/114 6/12 O . O . O . . . O O . O

O: 当场通过

Ø: 赛后通过

.: 尚未通过

A Tobaku Mokushiroku Kaiji

solved by chelly


chelly's solution

签到

B Attack on Titan

unsolved


C Utawarerumono

solved by Feynman1999


Feynman1999's solution

D Love Live!

unsolved


E Eustia of the Tarnished Wings

solved by chelly


chelly's solution

排个序,若两个相邻的间隔大于k则ans++

F Baldr Sky

unsolved


G Kimi to Kanojo to Kanojo no Koi

unsolved


H One Piece

unsolved


I Steins;Gate

solved by chelly


chelly's solution

如果题目里的*变成+就好了,我们就可以卷积的
于是我们希望对a取对数,就可以把乘法变成加法了,我们可以取质数P的原根g为底的对数
那么每个\([1,P-1]\)的数字x都有一个\([0,P-2]\)的i相对应,即\(x=g^i\)
所以我们可以先统计原来序列模P的结果分别有多少个,然后把x的个数映射到i的个数,然后FFT卷积,再把结果从i映射回x即可
注意0的情况要特殊考虑

J Princess Principal

solved by ch&chelly


chelly's solution

先做一次括号匹配,给匹配上的左括号和有括号打上标记,标记就是对方的下标
考虑一个询问[l,r],如何才合法呢?
合法当且仅当里面的所有括号都是匹配上的,即每个位置的标记数字都是[l,r]之间
那样我们只需要判断[l,r]中的min是否<l,max是否>r即可
这个只需要两次rmq

K Tengen Toppa Gurren Lagann

unsolved


L New Game!

solved by chelly


chelly's solution

暴力算出每两个圆之间的距离,算出两条线段到每个圆的距离,算出两条线段的距离
然后跑最短路即可

Replay

本场由chelly、ch、Feynman1999线下打的。
开场chelly签了两个题,然后Feynman1999提出了C题的解法,并上机coding。与此同时ch告诉了chelly J题的做法,chelly觉得OK,准备上机敲。Feynman1999的代码出了点问题,于是换chelly上去敲J题,成功1A拿下一血。之后Feynman1999继续写C题,ch发现了G题构造题,开始攻G,chelly则开此时过的人数比较多的L题。不久之后Feynman1999交了C题,1A。泥翔找回了自我。之后chelly上机敲了L题的最短路,1A。ch的G题有了一些靠谱的构造方法,但经过提交一直都是WA。chelly浏览了一遍题,看到了D题,觉得D题就是个启发式合并+01Trie。思考了之后,chelly决定为每个集合定一个父亲,并用01Trie维护从父亲下去的链,然后开始码码码……但是经过长时间的调试之后,chelly发现样例就把自己的做法×掉了,chelly发现合并两个集合的时候,其中一个点不一定是根……然后chelly就放弃了D。ch的G题也一直WA。赛后得知ch就差一手4的构造不然就能过了。离比赛还有1h,chelly发现I题过的人数比较多,并想到了原根的做法,然后开始码码码,在比赛结束前10多分钟1A,绝杀了比赛。

猜你喜欢

转载自www.cnblogs.com/Amadeus/p/9416884.html