别样的广叉碳磷碳游记

day -114514

一天早上,桂林电子科技大学向我打来电话说:“小比样的,敢不敢和我举行别样的广叉碳磷碳大作战”,我说“来就来!”

我,。说镁,条。!!布什,区!铀,梅。铀?!入,……东,。德!

image

选择你的队友:

  • hyz强强!就是他了!
  • 三巨头(汪蒋刘)组不上(应该他们都去集训了吧?)
  • llm和mxx都去中考力(寄)

于是开始了别样的取名大作战:

学长:我们不如叫BMPT吧!

我:没这强度

学长:那就叫黄天笔下半载吧!

我:前方100米掉头

学长:那就叫 每周一条龙林边小菊花 吧!

我:左转退出nnez信息机房

……………………省略hyw内容

最终,定成了:扎,。扎!,师?;无,。。……敌!
image

学长:兑!?,英,改。?师!!;
image

day-3

kingdomrush 启动!

GA启动!

day -2

准备出发力!冲冲冲!

听树立口听到扉间了,树立口完蛋了(

什么kr防空火力过弱-5,区完了,再也不打牢大模式了

什么叫做数竞考试定在周末?

image

那还说啥跟你爆了

ACGO的小周边寄到了,喜

为什么不是AC而是MLE,回答我!look at my eyes!

瓦尔桑德也是瓦,瓦尔基里也是瓦,瓦偶体比也是瓦,所以我也是在打瓦(

不是哥们你怎么自刎归天了.jpeg

什么叫做哥们让我叫你姐们.jpeg

day -1

9:00

我方战机抵达攻击起始点!

进入东站.exe

什么叫做我们总共带了20本书

10:xx~12:xx

坐车ing……

playing and sleeping

hyz又在神秘二游塔防,我在神秘栈底摸你器,兑

依旧钢针打步兵

12:xx

psc
成功抵达桂林电子科技大学周边的神秘的酒店,环境非常不错

扎,扎。,师?!布什!区!

依旧神秘极有格调の石头.jpeg
psc

出租车68块,跟登山赛车似的,值了!

13:00

签了到,拿了神秘小衣服小牌子和小袋子

吃吃吃.jpeg

hyz人夯爆了,请我吃饭,拜谢%%%

吃完滚去开幕式,注意到开幕式已经结束了,然后被迫滚去打签到赛

13:45

ht's father:我们的考场在406

我:收到

hyz:收到

(>>>进入考场>>>……)

我:布什戈门怎么找不到我们的位子啊?

hyz:不造啊

cnj(nnez神秘同学):你们走错楼了

我:吾去,不早曰!

(老傻子跑图中……)

终于找到了.jpeg

QQ_1780588179095

14:00

进入车辆!

进攻A点!

A点 占领难度:极低 下位红?

不需要说,if即可

我方部队夺取了一个战区!

干得好!

进攻B点!

B点 占领难度:低 中位橙~下位黄

不需要说,读入后排序,flag存是否有,排序后遍历即可

我方部队夺取了一个战区!局势对我们很有利!

干得漂亮!

进攻C点!

C点 占领难度:中上 上位绿~中位蓝 递推/找规律(

我去我不会打绿了(好吧本来就不会递推)

注意到异或的性质和可选数字的范围,考虑按位分讨

每一位必须选出偶数个 \(1\),而在 \(2^m-1\) 以内,每一位正好有 \([n/2]\)\(1\)

那还说啥直接组合计数,发现如果是奇数情况则正好每一位的选择方法相加为 \(2^m-1\),共 \(n-1\) 次选择

惊人注意力解决奇数情况为 \((2^m-1)^{n-1}\)

我去我怎么不会做偶数了(赛后惊讶的发现我是区,我把 \(a_i \neq a_{i+1}\)\(a_i \neq a_{j} (1\le i \lt j \le n)\) 力,悲)

hyz推推爆ing,ht打表ing

布什戈门打表怎么写的这么石(

打出来雷霆大表,我也有个滚木多项式

我:哥们矩阵会炸吧

hyz:不会

坏了我忘记矩阵乘法定义了,我是区

多项式解法:

惊人注意力可推出如下滚木:

\([n/2] \bmod 2 = 1\) 时:\(ans = (2^m-1)^{n-1}-(2^m-1)^{[n/2]}\)

否则 \(ans = (2^m-1)^{n-1}+(2^m-1)^{[n/2]}\)

code
#include<bits/stdc++.h>
#define int long long
using namespace std;
int mod=998244353;
int qpow(int x,int y){
   int res=1;
    while(y){
        if(y&1){
            res*=x;
            res%=mod;
        }x*=x;
        x%=mod;
        y>>=1;
    }
    return res;
}
signed main(){
    int t;
    cin>>t;
    while(t--){
        int n,m;
        cin>>n>>m;
        if(n==2){
            cout<<0<<endl;
        }else if(n==1){
            cout<<1<<endl;
        }else{
            if(n%2==1){
                cout<<qpow((qpow(2,m)-1+mod)%mod,n-1)%mod<<endl;
            }else{
                if(n/2%2==0){
                    cout<<(qpow((qpow(2,m)-1+mod)%mod,n-1)%mod+qpow((qpow(2,m)-1+mod)%mod,n/2)%mod+mod)%mod<<endl;
                }else{
                    cout<<(qpow((qpow(2,m)-1+mod)%mod,n-1)%mod-qpow((qpow(2,m)-1+mod)%mod,n/2)%mod+mod)%mod<<endl;
                }
            }
        }
    }
}

 

矩快写法:

布什戈门什么叫做你打表打出来个当 \(n\bmod 2=0\) 时有 \(ans=(2^m-1)^{n-1}-(2^m-1)^{n-2}+(2^m-1)^{n-3}……\)

依旧好哥们不会分析,依旧三条美跳纯劲大,依旧矩阵快速幂

image

code
#include<bits/stdc++.h>
using namespace std;
#define int long long
int mod=998244353;
int qpow(int x,int y){
    int res=1;
    while(y){
        if(y&1){
            res*=x%mod;
            res%=mod;
        }y>>=1;
        x*=x;
        x%=998244353;
    }return res;
}
int T;

struct mt{
	int num[3][3];
};

mt mul(mt A,mt B){
	mt ret;
	for(int i=0;i<3;i++){//注意到写成转置矩阵了
		for(int j=0;j<3;j++){
			ret.num[i][j]=0;
			for(int k=0;k<3;k++){
				ret.num[i][j]+=A.num[i][k]*B.num[k][j]%mod;
				ret.num[i][j]%=mod;
			}
		}
	}
	return ret;
}
mt mtksm(mt x,int y){
    mt res;
    for(int i=0;i<3;i++){
		for(int j=0;j<3;j++){
			if(i!=j)res.num[i][j]=0;
			else res.num[i][j]=1;
		}
	}
    while(y){
        if(y&1){
            res=mul(x,res);
        }y>>=1;
        x=mul(x,x);
    }return res;
}
mt base,a;

signed main(){
    cin>>T;
    while(T--){
        int n,m;
        cin>>n>>m;
		if(n%2==1){
			cout<<qpow((qpow(2,m)-1+mod)%mod,n-1)%mod<<endl;
		}else{
			int pw=qpow(2,m)-1+mod;
			pw%=mod;
			
			base.num[0][0]=-1;
			base.num[0][1]=0;
			base.num[0][2]=1;
			base.num[1][0]=1;
			base.num[1][1]=0;
			base.num[1][2]=0;
			base.num[2][0]=0;
			base.num[2][1]=0;
			base.num[2][2]=pw;
			
			a.num[0][0]=1;
			a.num[0][1]=0;
			a.num[0][2]=0;
			a.num[1][0]=0;
			a.num[1][1]=0;
			a.num[1][2]=0;
			a.num[2][0]=0;
			a.num[2][1]=0;
			a.num[2][2]=0;
			
			int a_ans;
			if(n/2-1==0){
				a_ans=0;
			}
			else{
				a=mul(a,mtksm(base,n/2-1));
				a_ans=a.num[0][2];	
			}
			
			int ans=0;
			ans=qpow(2,m)*qpow((qpow(2,m)-1+mod),n/2)%mod;
			ans=ans*a_ans%mod;
			
			/*for(int i=0;i<3;i++){
				for(int j=0;j<3;j++){
					cout<<a.num[i][j]<<" ";
				}cout<<endl;
			}*/
			cout<<abs(ans)<<endl;
		}
    }
    
    return 0;
}

矩快板子都写错了,甚至我需要在完全不知道怎么推的矩阵下帮忙调试,我们完蛋了

但是hyz太强了,起码比我强,%%%

我方部队夺取了一个战区!

进攻D点!

不行!

D点 占领难度:高 中位蓝~中位紫

注意到考虑每一条链,发现每一条链的贡献互不干扰

那就可以得出一条链的贡献仅与这个byd玩意的长度有关

那么就是喜闻乐见的推推链环节

因为题目中的条件决定了一次必须交换两个节点并且存在偶数次交换

简单推推式可得单条链的长度贡献

可以发现一条链的贡献: \(cost= !len-2!(len-1)+!(len-2)\)

aeiouaoeiu大神犇巨牛仅需1h便薄纱了D,而我这头区MLE了

code
fac[0]=1;
    for(int n=1;n<=3000;n++){
        fac[n]=fac[n-1]*n%998244353;
    }
    for(int i=2;i<=3000;i++){
        b[i]=(fac[i]-(2*fac[i-1]%998244353)+998244353+fac[i-2])%998244353;
        b[i]%=998244353;
    }
    int n;
    cin>>n;
    for(int i=1;i<n;i++){
        int u,v;
        cin>>u>>v;
        e[u].push_back(v);
        e[v].push_back(u);
    }
    /*
    省略滚木
    */
    int ans=1;
    for(int i=1;i<=n;i++){
        for(int j=i+1;j<=n;j++){
            ans=(ans+b[dep[i]+dep[j]-2*dep[q(i,j)]+1])%998244353;
        }
    }
    cout<<ans<<endl;

aeiouaoeiu大神还是太强了,%%%

17:00

psc
你这瓜皮子金子做的还是瓜粒子金子做的?(DNA动了)

吃吃吃,nnez所有的人吃吃吃

神秘东北菜,豪赤

给学弟学妹们讲解ABCing……

20:00

入住酒店!

楠溪故事环境非常不错捏~

去hyz房间打题,膜拜汪神和玩瓦尔桑德,神秘hyz成功玩瓦尔桑德用bt-5爷爷击穿vt-4的皮燕子(不是

轻鼠入文本

22:30

膜拜大神求祝福然后洗洗睡

day 1

跳帮GXCPC现场,为了六味地黄皮子丸

ht貌似洗澡了,没那么臭了

8:00

热干面好吃捏

买了三个免保就去考场力

居然我是臭队长,还是臭打代码的,注意到打代码也是键盘手(

9:00

正式开始考试

进攻D点!

A63C8DC124717AE8FDACB2896E29DF40

D点 占领难度:低 上位红~下位橙

统计每种字符出现的次数即可

干得好!

进攻G点!

G点 占领难度:中 上位黄~中位绿

\(len(x)\) 表示 \(x\) 的位数

注意到 \(G(x)+F(x)\le 9^{len(x)}+9\times{len(x)}\) ,再注意到如果 \(G(10^k-1)+F(10^k-1)\lt 10^k-1\) ,则不存在任意一个 \(x\) 使得 \(G(x)+F(x)=x\) ,则显而易见的只有 \(x\in \{19,29,39,49,59,69,79,89,99\}\) 时满足条件,则就可以在1min之内敲完

我方部队夺取了一个战区!

进攻A点!

A点 占领难度:中下 上位橙

注意到对于任意 \(\{a_1,a_2,a_3……a_n\}(a_i\in N^+)\) , \(\{b_1,b_2,b_3……b_n\}(b_i\in N^+, \sum b_i=M)\) 均有 \(\max {a_i}^{M} \ge \{{a_1}^{b_1},{a_2}^{b_2}……{a_n}^{b^n}\}\) 其中满足 \(\{b_1,b_2,b_3……b_n\}\) 为任意一组合法序列

非严谨数学证明? 首先,对于两个数字 $a_i,a_j(a_i\le a_j)$,两数底数之和固定为 $M$

则有 \({a_i}^M+{a_j}^0\le {a_i}^{M-1}+{a_j}^1\le{a_i}^{M-2}+{a_j}^2\le……\le {a_i}^0+{a_j}^M\)

那么对于每两项都可以作此操作使得 \({a_i}^k+{a_j}^{M-k}\) 最大

灰常煎蛋

干得漂亮!

进攻F点!

F点 占领难度:区 中位绿~下位蓝

666注意到hyz中考完失恋了,而且这是一个小甜文

注意到学OI的大部分成为了南梁或是单身狗,所以这篇文章攻击性极高

什么叫做这俩人移动时是一个不动一个转圈,什么冰与火之舞啊,男女主是森林冰火人?

简单小图论,二分图染色判是否为二分图,是二分图则 \((a,b)\) 的颜色必须完全等同于 \((s,t)\)

那你问我不是二分图?

那就是可以,总司令

code
#include<bits/stdc++.h>
using namespace std;
int co[1145141];
vector<int>g[214514];
int flag=0;
void dfs(int now){
    if(flag){
        return;
    }
    for(int i=0;i<g[now].size();i++){
        if(co[g[now][i]]==co[now]){
            flag=1;
            return;
        }else{
            if(co[g[now][i]]==0){
                co[g[now][i]]=3-co[now];
                dfs(g[now][i]);
            }
        }
    }return;
}
int main(){
    int t;
    cin>>t;
    while(t--){
        flag=0;
        memset(co,0,sizeof(co));
        for(int i=0;i<=200000;i++){
            g[i].clear();
        }int n,m,q,s,t;
        cin>>n>>m>>q>>s>>t;
        while(m--){
            int x,y;
            cin>>x>>y;
            g[x].push_back(y);
            g[y].push_back(x);
        }
        co[s]=1;
        dfs(s);
        while(q--){
            int x,y;
            cin>>x>>y;
            if(flag){
                cout<<"Yes"<<endl;
            }else if(co[s]==co[x]&&co[y]==co[t]){
                cout<<"Yes"<<endl;
            }else{
                cout<<"No"<<endl;
            }
        }
    }
}
证明:

首先如果是一个二分图,我们能发现以下结构:
QQ_1780589226296
如果起始位置为 \((s,t)\) ,则无论如何都无法达到状态为 \((a1,s)\) 的情况,讨论下就出来了

而奇环可以改变染色的颜色,所以全部可达

干得漂亮!局势对我们很有利!

有一种正在打MC的感觉捏,手速跟我起床战争走搭一样……

雷德王我开始理解你了

突然好想吃个汉堡啊……

吃汉堡(为什么会有这个?)

主办方发汉堡了

汉堡不大,鸡排很干,面包吃起来有一种AX50打5弹的雷霆口感,好似突然有个沙王埃里克突然掉你嘴里然后开反伤一样,鸡排则是优选清朝老鸡,混合慈禧小时候吵着要吃的千年僵尸肉和从MC草丛里打出来的小麦种子种的小麦得到,里面存在着部分绿叶植物的输导组织和筛管组织混合着保护细胞和组织细胞和机械组织的物体,存在有大量高分子糖类,有人说那玩意可以通便,但是我认为这个玩意功能甚至不如服用一条美洲大蠊来的实在

然后就是雷霆小鸡块,直接粘在袋子上了,根本没办法食用

我们采用黑洞朝露水+千年僵尸鸡->image混合的清朝合成肉,甚至跟啃土豆没有发现任何区别,但是还是比学校食堂的海鲜味鸡排来得实在

至于腿+翅,不做评价

果汁不加冰,喝完感觉自己的胃飞升安东星了

进攻H点

H点 占领难度:偏高 中位蓝~下位紫?

思路提供:hyz
代码实现:hyz
后期调试:我

注意到这是我们队伍中不是我打的通过的唯一一道题,但是也是难度最高的一道

image

俺寻思俺能过.jpg

俺寻思俺过不了.jpeg

俺寻思7罚.jpeg

这道题思路是考虑每一个块从哪里出的方案数,则设 \(g_{i,j}\) 表示第 \(i\) 个块从高度为 \(j\) 走出的方案数

那么就有个柿子:

如果重力方向为正:\(g_{i,j}=\sum_{k=1}^{h[j]} \frac{g[i-1][k]*(!l[i]+k-h[i]+1)}{(k-h[i])*!l[i]}\)

反之亦然,讲不清楚,毕竟我数学不好捏(

code
#include<bits/stdc++.h>
using namespace std;
#define int long long 

int mod=998244353;
int inv[1000];

int ksm(int a,int b){
	int ret=1;
	while(b>0){
		if(b&1)ret=ret*a%mod;
		a=a*a%mod;
		b>>=1;
	}return ret;
}

int l[105],h[105],op[105],g[105][105];
int pre[200];

int gravity_down(int hh,int indx,int k){
	int ret=0;
	for(int i=k;i<=hh;i++){
		int tmp=pre[i-k];
		/*for(int j=0;j<=i-k-1;j++){
			tmp=tmp%mod*((j+ll)%mod)%mod;
		}*/
		//tmp*=pre[i-k-1];
		//tmp%=mod;
		tmp=g[indx-1][i]*tmp%mod;
		tmp=tmp*inv[i-k]%mod;
		ret=(ret+tmp)%mod;
	}
	return ret;
}
int gravity_up(int hh,int indx,int k){
	int ret=0;
	for(int i=1;i<=k;i++){
		int tmp=pre[k-i];
		//tmp*=pre[k-i-1];
		//tmp%=mod;
		tmp=g[indx-1][i]*tmp%mod;
		tmp=tmp*inv[k-i]%mod;
		ret=(ret+tmp)%mod;
	}
	return ret;
}


signed main(){
	ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
	
    inv[0]=1;
    for(int i=1;i<=200;i++){
        inv[i]=inv[i-1]*i%mod;
    }
    for(int i=1;i<=200;i++){
        inv[i]=ksm(inv[i],mod-2);
    }
    int t;
    cin>>t;
    while(t--){
        int n;
        cin>>n;
        for(int i=1;i<=n;i++){
        	cin>>l[i]>>h[i]>>op[i];
		}
		//init
		memset(g,0,sizeof(g));
		for(int i=1;i<=h[1];i++)g[0][i]=1;
		//calculate
		for(int i=1;i<=n;i++){
			//for(int j=h[i]+1;j<=100;j++)g[i-1][j]=0;
			
			//pre-mul
			memset(pre,0,sizeof(pre));
			pre[0]=1;
			for(int j=1;j<=199;j++){
				pre[j]=pre[j-1]*((j+l[i]-1)%mod)%mod;//check!!!
			}
			
			if(op[i]==0){
				for(int kkksc=1;kkksc<=h[i];kkksc++){
					g[i][kkksc]=gravity_down(h[i],i,kkksc)%mod;
					//cout<<"tiaoshi i="<<i<<" g[i]="<<g[i][kkksc]<<endl;
				}
			}else{
				for(int kkksc=h[i];kkksc>=1;kkksc--){
					g[i][kkksc]=gravity_up(h[i],i,kkksc)%mod;
					//cout<<"tiaoshi i="<<i<<" g[i]="<<g[i][kkksc]<<endl;
				}
			}
		}
		int ans=0;
		for(int i=1;i<=h[n];i++){
			ans=(ans+g[n][i])%mod;
		}
		cout<<ans<<endl;
    }
}//没删调试语句

我去我们这群镁条怎么想不到前缀积优化

我去hyz心态怎么炸掉了(

说好的zl叫hyz稳定我心态的呢?

进攻J点!

J点 占领难度:中下 中位黄~中位绿?

坏了我不会打绿贪心了

坏了3个人凑不出来一个找得到次大值的了(

坏了貌似我们对有贡献仅有两人,我是0贡献(

坏了貌似赛后我和hyz成0贡献了(

首先如果出现 \(b_i\gt \max a_i\)\(b_i\lt \min a_i\)\(n=1\) 则不合法

又有如果出现 $a_i=\max a_i ,b_i=\min a_i $ 或相反情况,则需要通过次大/次小值转换,特别的,当 \(n=2\) 时出现这种情况无解

依旧好哥们不会分析,依旧三条美跳纯劲大,依旧只剩10分钟没法打了

666三个骰子骰出大失败了,COC完蛋了(为什么我会把GXCPC当跑团玩)

image
镁,条。!市!!区,。

14:00

三条区从考场中出来了

认为没有金的风险

15:15

讲完试题了,注意到又是杭电出题

注意到实训楼的电线又一次被老鼠啃断了,老鼠牛逼

注意到老鼠四杀了(第四次啃段电线)
image

我是XCPC新玩家,不懂就问,老鼠啃断电线是什么赛季活动吗?

什么叫做我们几条区拿金了?

BD8F555B4141CD0395670F6EBB882513

上台拿奖耶耶耶!psc

从左往右第5个是我(

扎扎师牛大了,不骑宝马了

扎扎师已经成为金卡了

细节我是扎扎师,细节奋战两次打4点,细节打完报废

我,。是,!区?!

4b2de0dd68ca66509ae68e8d30a4a945
34e80caf6f8e8ac9d0d509a826548d67

宝,马。!吴,迪!!。

18:00

登车返程

image

21:00

回到家了,没饭吃,饿死了

极限模式没法复活(

还好我买了星星礼盒(错乱

什么叫做ICPC-NC站的高通过率题(\({50\%}^+\))比GXCPC多?

被CCB协会和HDU狠狠做局了

5708565FB34A4B6951E692DF61AB6258

22:00

做梦

晚上梦到无上辐光了,当务之急是找到梦钉给自己来一下(

不对啊我45不是通了吗?那算了,打细胞去

后记

day 2

florr 和 zorr 都出super了!

florr是glass,zorr是火蚁穴蛋

我是gyg

玩恐怖游戏(福拿阿福)被自己雷霆构史操作严肃吓哭,silksong被残暴的兽蝇狠狠打击,又被伟大的一坨屎狠狠打击,联想到GXCPC我们差点残暴的守银……

e8a2b6bf0eb147ac0b6f4969fa7ad774

什么叫做数竞明天考试?

2b79ae31d28effea0457494759d63c1f

晚上去nnez上数竞,发现自己组合非常好

奇了怪了,为什么呢我信奥弱的项都是数竞强项呢?

所以我们可以得出 \(zxc_{数竞} \equiv {zxc}_{信竞}^{-1} (\bmod 11451491918102333)\)

zxc完蛋了

day 3

核癌氪氰的数竞爱尖子测试

已严肃成为区

发挥惊人注意力注意第二题,构建神秘完全图再通过最大匹配的性质得出最大匹配数符合题目要求

什么叫做我多构造了 \(p\) 条边?

zxc车底完蛋了

373163fed04213aa19e03a4382291853

day 4

爱尖子发答案了,已严肃成为初中二试分数最高之人 (我不会告诉你只有6个人)

补题,补写游记,被教练催着写游记

得知了神秘群聊中我和hyz被传成0贡献的雷霆传言,评价是我这辈子废了
ef77c3bd985943dc6de512248d79649b

帮同学打雷

我好锑(Sb)啊

K题 难度:蓝?

注意到zxc考试时分析出了三分是时间复杂度不可行的算法,注意到全队没有一个视力正常的看的到时限是3s,注意到小队成员有一人处于闲置状态

ht给出的叉乘有问题啊!ht!你算计我!

注意到hyz提示了我是三分,然后我听成B题用三分,我要自刎归天了

0F0EAF0E40B8F25666A9C791CCE86D24

5b91d2adc48f99300fb2de21131210de

正解是旋转卡壳,但是显而易见三分杀死了比赛

注意到凸包的几何性质,对于一段凸包上的连续点链,且这个点链不构成一个闭包,则将点链的端点链接后再次任意选择一点构成的三角形面积在点链中对点的顺序存在单峰性

举个例子:c5b057ee2a15f96dc2e8f048e242b745

如下图,以黑边为电链端点,很容易注意到在构成图中黄色三角形时面积最大

并且继续画图验证可得单峰性,然后三分

喜闻乐见的 \(O(n^2 \log_3 n)\) 算法

不对啊这个大常数怎么过的?

code
#include<bits/stdc++.h>
using namespace std;
#define int long long
int x[1145141],y[1145141];
int calc(int a,int b,int c){
    return abs((x[b]-x[a])*(y[c]-y[a])-((y[b]-y[a])*(x[c]-x[a])));
}
int check(int l,int r){
    int rl=l,rr=r;
    l++,r--;
    int maxx=0;
    while(l<=r){
        int ans1=calc(rl,rr,l+(r-l)/3);
        int ans2=calc(rl,rr,r-(r-l)/3);
        maxx=max(ans1,max(ans2,maxx));
        if(ans1<ans2){
            l=l+(r-l)/3+1;
        }else{
            r=r-(r-l)/3-1;
        }
    }
    return maxx;
}
signed main(){
    int t;
    cin>>t;
    while(t--){
        int n;
        cin>>n;
        for(int i=0;i<n;i++){
            cin>>x[i]>>y[i];
            x[i+n]=x[i];
            y[i+n]=y[i];
        }
        int ans=0;
        for(int i=0;i<n;i++){
            for(int j=i+3;j<min(n,i+3+n-5);j++){
                int cnt=0;
                if(i<=j+1){
                    cnt+=check(j+1,i+n);
                }else{
                    cnt+=check(j+1,i);
                }
                if(j<=i+1){
                    cnt+=check(i+1,j+n);
                }else{
                    cnt+=check(i+1,j);
                }
                ans=max(ans,cnt);
            }
        }
        cout<<ans<<endl;
    }
}

然后hyz骂我大傻逼,我认为是的

给lyx看游记,他被笑死了

但是,B89BE6ED2B6199B29F57F05F29E5BBDF

因为我的智商和我的水平不允许我嘲笑除了我以外的任何人类,而我不能嘲笑非人类,那我就只能绷住了

颓废的一天,数竞讲解完就开始颓了

玩noita打长线被自己刚提的50000金雷霆法术炸死了,炸档

玩四只鸽钢魂又被打死了,依旧雷霆二伤怪跟1939木琴似的来无影去无踪嘎巴一下给我钢魂碎档了

玩塔科夫被鸡哥扔雷炸死了(问号),玩八宝粥又被银翼炸,玩暗区还被蹲撤

不是怎么老贝榨啊?

day 5

4F5BDBDA432E8431744C695BBCED8EA2

已严肃观看吊塔润c5滚木预告

已严肃完成硫磺怪+烈性硫磺大学习

已严肃完成夯空学大学习

4086040213568b469fa8e8fb72b8d6c0
2e164639deff84b3b38227f1fdd17d9f

简单概括:提把扭臂,浮木飞天

什么雷霆MOD?

B题 难度:不做评价

972747c6c51cfa2de02160577465592f
被hzl(数竞pro)狠狠嘲笑了

我一直在想一件事,为什么乙赶去赌而不是第一时间结束游戏呢?因为对于乙来说,越往后甲的胜率会成倍增长,所以对于乙(没有上帝视角)的最优(或者说是最稳健)的策略一定是第一时间结束游戏啊

原来有上帝视角啊

我完蛋了

71a8bafde04aaae6231d9eab0c4b62da

hzl提供的柿子:\(ans=\max(0,\max_{i=2}^{n} \frac{-i+1+\sum_{j=2}^{i}\times i}{n})\)

那么就有简单代码:

code
#include<bits/stdc++.h>
using namespace std;
int main(){
    int t;
    cin>>t;
    while(t--){
        int n;
        cin>>n;
        double sum=0,maxx=-1;
        for(int i=2;i<=n;i++){
            sum+=1.000000/i;
        }
        for(int i=2;i<=n;i++){
            maxx=max((-i+1+i*sum)/n,maxx);
            sum-=1.000000/i;
        }
        cout<<maxx<<endl;
    }
}

一想到明年就是三巨头和学长们的最后一舞了,那么nnezOI的重任就落到我头上了

我这条区这都做不出来,我去死算了

nnezOI社看不到希望了……毁灭吧!
A71FB4A5A68B54DC1E7C32384BFB564E

想对出题人说的话:
5A425E73055DBC2185AED7D2646D334D

day 6

hyz加速器到期了没法打雷,于是打雷了,下暴雨被淋成啥博弈了

打ICPC-NC,发现比GXCPC好打

56168104B6D38D408CE575C8E401BE48

hyz又在玩他的二游,必须制裁

都来给我玩noita

day 7

卡手空过

day 8

玩骑砍,玩钢丝,玩玩玩

不对不对!晚上有CF!

想想C,没思路……

本次比赛的游记就到此为止吧!

posted @ 2026-06-05 00:14  ALPHA_wule  阅读(44)  评论(0)    收藏  举报