Loading

CSP-S2022 GD 迷惑代码

本次考试共收到 1484 个文件夹,考号范围 \([1,1620]\),这说明还是有不少人完全没有参考。

#include5118 文件中有 10304 个结果,这说明至少有 518 个完全没有动的题。

有两位选手分别在 T1T3 使用了 pbds,分别使用了哈希和平衡树。

CCF16 文件中共有 26 结果。喜欢 CCF 的人往往不会只提一次(

f*ck6 文件中共有 8 次出现,有出现 #define debug puts("f*ck")

//freopen53 文件中共有 101 结果

AFO 共有 9 结果,祝好

AK IOI 共有 5 结果,%%%

orz20 文件中有 123 结果,其中 GD-S00671 的代码令人叹为观止

sto8 文件中有 53 结果

pts15 文件中共 52 结果

O(28 文件中共 40 结果

//1827 文件中有 13737 结果。居然有上千份代码完全没有注释

qwq45 文件中有 275 结果,大多作为数组出现

qaq6 文件中有 38 结果,大多作为数组出现

dfn88 文件中出现,son81 文件中出现,扫一眼过去大多是树剖

dp302 文件中有 3092 结果

上述统计均使用 vscode,且不区分大小写。

  1. debug & 题解人
int main()
{
    freopen("game.in","r",stdin);
    freopen("game.out","w",stdout);
    lg[1]=0;
    for(int i = 2; i <= 100005; i++)
        lg[i]=lg[i/2]+1;
    cin >> n >> m >> q;
    //cout << "fuck0" << endl;
    ...
    //cout << "fuck1" << endl;
    ...
    //cout << "fuck2" << endl;
    ...
    //cout << "Input Stage1 finished"<<endl;
    //anegmax.output();

//设 maxB为B最大数,
//  minB为B最小数。
//情况一。如果Bmax<0那么直接草上A最小。
//情况二。如果Bmin>0那么直接草上A最大。
//情况三。分类:(显然此时必一正一负)
//    如果B1<-B2那么草上A最大非正数。
//    如果B1>-B2那么草上A最大非负数。
//输出。
//1=简简单单朋友们。
//完了,wa了
        ...
        if(maxB<-minB)
        {
            //优先使用maxB
            if(minA<=0)
                printf("%lld\n",anegmax.query_max(ll1,rr1)*maxB);
            else
            //被迫使用minB
                printf("%lld\n",minA*minB);
        }else{
            //优先使用minB
            if(maxA>=0)
                printf("%lld\n",aposmin.query_min(ll1,rr1)*minB);
            else
            //被迫使用maxB
                printf("%lld\n",maxA*maxB);
        }
    return 0;
}
  1. 【】人

【真的不敢放其代码】

  1. 膜拜人
/*

%%% zlt
%%% pb
%%% ntf
%%% cdw
%%% zz

*/

↑在三题的开头都加了此段

  1. AK IOI 人
#include <bits/stdc++.h>
using namespace std;
int n, m, q, t;
int main() {
	freopen("galaxy.in", "r", stdin);
	freopen("galaxy.out", "w", stdout);
	/* ...... */
	scanf("%d %d", &n, &m);
	int u, v;
	for (int i = 1; i <= m; ++i) scanf("%d %d", &u, &v);
	scanf("%d", &q);
	while (q--) puts("NO");
	return 0;
}

// sto myx orz %%%%%%%%%%%
// sto xgf orz
// sto zcy orz
// sto qzm orz
// sto hzx orz


// IAKIOI!!(?

  1. 表白 CCF 人
// 好啊!贴心,太贴心了(乐
// 竟然帮我写头文件!
// 甚至赠送 freopen 
// I love CCF!
// Money for me, fame for CCF!!!!!
// I love love love love love love love love love love love love love l**e CCF!!!!!!!
// 样例过 乐。
// 9倍 n^2过!!!! 
// O(n) 输入不成问题。
// CZZ 想必已经 AK了罢。 
  1. 唱歌人
//freopen("Who would use freopen?")
//freopen(":P")

//STO zlt AK CSP-S Orz
//STO ckj AK CSP-S Orz

//I swear I hold on,
//Holding on.
//And if I fall down,
//I'll get back up again.
//I swear I hold on!
//Holding ON!
//And if I fall down,
//I will have the strength to carry on.
  1. v me 400 人
#define debug cout<<"I love ccf forever give me 400 points "
  1. 空想人
int main(){
	
	freopen("transmit.in","r",stdin);
	freopen("transmit.out","w",stdout);
	
	for(int i=1;i<=10;i++)
		printf("%d\n",i);
	
	//ccf is my dad, plz give me some points
	
	fclose(stdin);
	fclose(stdout);
	
	return 0;
}
  1. 祝好
/**
 * 考试要结束了,那就在唯一可能AC的题中留个言吧
 * 这可能是我最后一次考 CSP了
 * 很多人也是如此
 * 怎么说吧,虽然我们当中的很多人将离OI而去
 * 但请不要忘记你作为OIer时的志向与信仰
 * 我们曾经的努力和辉煌
 * 盼君勿忘
 *
 * 哦对了,我喜欢Sharing
 * Luogu uid:41**01 (保护隐私已打码)
 * 一个将死之人的留言 
 *
 * 附:这题数组开太多了,可能MLE 
**/
  1. 表白 CCF 人Ⅱ & 宣团人 & 字符画人
signed main() {
	freopen("holiday.in", "r", stdin);
	freopen("holiday.out", "w", stdout);
//	freopen("I LOVE CCF.in", "r", stdin);
//	freopen("CCF, I LOVE YOU .out", "w", stdout);
	int n, m, k;
	cin >> n >> m >> k;
	for (int i = 2; i <= n; i++) scanf("%lld", &a[i]);
	for (int i = 1, x, y; i <= m; i++) {
		scanf("%lld%lld", &x, &y);
		v[x].push_back(y);
		v[y].push_back(x);
	}
	vis[1] = 1;
	dfs(0, 1, 0);
	cout << mx;
	return 0;
}
/*
ckonc   c   c    kkk  kkk  kkk  kkk  kkk  kkk   ssssss    cccccc   00000   33333
ccocc   cc cc    kkk kkk   kkk kkk   kkk kkk   sss      cccc      00   00     333
fkfnf   f f f    kkkkkk    kkkkkk    kkkkkk     sssss   cccc      00   00  33333
nnonn   nn nn    kkk kkk   kkk kkk   kkk kkk       sss  cccc      00   00     333
bkonb   b   b    kkk  kkk  kkk  kkk  kkk  kkk  ssssss     cccccc   00000   33333
*/
//我要进人类迷惑行为锦集!!!!! 

//宣传团队AUOI出题组!!!
//https://www.luogu.com.cn/team/45353
//宣传团队ACOI出题组!!!
//https://www.luogu.com.cn/team/51160
//宣传团队销毁服务!!!
//https://www.luogu.com.cn/team/51117 
//我的主页!!!
//https://www.luogu.com.cn/user/353881
//欢迎来玩!!! 



// by 353881
  1. 游记人
//freopen("Antarctic Lights.in")
//freopen("Northern Lights.out")

//B Finished at 16:15.
//Good Luck.

//What is my Luogu UID?
//:P
//Hint:?????3

//Interesting.Much better than CSP-J :)
//So it's right to solve B first.
//Got idea on 16:29.

//I think it's O(n(k^2n+m)).

//Finish coding A at 16:55.

//So many bugs...annoying.
//But,wow,it's O(n(n+m)+mk^2). Great.

//It's 17:37.Why I'm still debugging?

//Thanks for example 3.k=4 cannot pass,but k=5 can.
//There's no water in the examples this time.Really excellent.

//Finish debugging at 17:42!Example 3 is amazing!
  1. debug 人
if(debug) printf("the new point is %d,it takes %d steps,the value is %d,it's father is %d\n",que[tail][0],que[tail][1],que[tail][2],que[tail][3]);
if(que[tail][1]==4)
{
	if(debug) printf("this point is end\n");
	int dd=que[tail][0];
	for(int x=0;x<ve[dd].size();x++)
	{
		for(int y=0;y<=k;y++)
		{
			if(ve[dd][x]==1)
			{
				if(debug) printf("this point can back to home!\n");
				bool flag[1000001],tot=true;
				memset(flag,0,sizeof(flag));
				int t=tail;
				flag[dd]=true;
				while(que[t][3]!=-1)
				{
					if(debug) printf("!!now is search on %d point\n",que[que[t][3]][1]);
					if(!flag[que[que[t][3]][1]])
					{
						flag[que[que[t][3]][1]]=true;
					}
					else
					{
						if(debug) printf("oh! it had used!\n");
						tot=false;
						break;
					}
					t=que[que[t][3]][3];
				}
				if(tot)
				{
					if(debug) printf("this point has no same!\n");
					if(debug) printf("ans=max(%d,%d)",ans,que[tail][2]);
					ans=max(ans,que[tail][2]);
					break;
				}
				
			}
		}
	}
}
  1. 求神拜佛人 & 字符画人
/* 
	STO CJY ORZ
	STO FQW ORZ
	STO 杰哥 ORZ
	STO 佛祖 ORZ
	STO kbzcz ORZ
	STO 关二爷 ORZ
	STO DogSeven ORZ
	STO 观音菩萨 ORZ
	STO splendore ORZ
	STO MonkeyKing ORZ
	STO Darksidecoder ORZ
							___________________ 	______________________
          /\                |      					|					 |
         /  \               |        				|					 |
        /    \              | 						|					 |
       /      \             |   					|					 |
      /        \            |   					|					 |
     /          \           |_______________		|					 |
    / __________ \          |						|					 |
   /              \         |   					|					 |
  /                \        |   					|					 |
 /                  \       |     					|					 |
/                    \      |     					|____________________|

*/ 

祝好

  1. 如你所愿人
#include <map>//我想上洛谷迷惑行为大赏 I LOVE CCF
  1. 膜拜人
//好,     第一题摆烂,拿70分跑路。 



//orz CCF orz CCF

//orz xhj
//orz wjy
//orz dyy
//orz wyf (mango21)
//orz lsc
//orz qyb
//orz yl
//orz yzh
//orz sjw
//orz hjl
//orz gsn
//orz ljy


//祈求xhj保佑!!! 
//祈求xhj保佑!!! 
// 省略 20+ 个相同的行
  1. 大分讨 & ccf 人
ll ccf()
{
	if(cntz1&&cntf1&&cnt01){
		if(cntz2&&cntf2&&cnt02) return 0;
		if(cntz2&&cntf2&&!cnt02) return 0;
		if(cntz2&&!cntf2&&cnt02) return 0;
		if(cntz2&&!cntf2&&!cnt02) return 1ll*qmax(1,1,n,L1,R1,0)*qmin(1,1,m,L2,R2,1);
		if(!cntz2&&cntf2&&cnt02) return 0;
		if(!cntz2&&cntf2&&!cnt02) return 1ll*qmin(1,1,n,L1,R1,0)*qmax(1,1,m,L2,R2,1);
		if(!cntz2&&!cntf2&&cnt02) return 0;
	}
	if(cntz1&&cntf1&&!cnt01){
		...
	}
	if(cntz1&&!cntf1&&cnt01){
		...
	}
	if(cntz1&&!cntf1&&!cnt01){
		...
	}
	if(!cntz1&&cntf1&&cnt01){
		...
	}
	if(!cntz1&&cntf1&&!cnt01){
		...
	}
	if(!cntz1&&!cntf1&&cnt01) return 0;
}
//高三生致敬OI ,最后一次csp了,在这里谢谢OI给我带来的所有所有, 
//也祝愿还在奋斗的OIer们能在自己有限的OI生涯中闪耀出独属于自己的光芒,
//我们!未来再见!ヾ( ̄▽ ̄)Bye~Bye~ 
//最后,I LOVE OI 

#include <algorithm>
#include <iostream>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <queue>
#define ll long long

using namespace std;

ll xx, n, z, y, c;

ll read()
{
	...
}

int main()
{
	freopen("galaxy.in", "r", stdin);
	freopen("galaxy.out", "w", stdout);
	
	xx = read(), n = read();
	for (ll i = 1; i <= n; ++i)
	  z = read(), y = read();
	c = read();
	for (ll i = 1; i <= c; ++i)
	  printf("NO\n");
	
	return 0;
}
  1. 矮冬瓜里拔高个人
for(ll i=1;i<=n1;i++){//get 矮冬瓜序列 
	
	if(cop1[i]<0){
		ar1[i]=cop1[i]*cop2[n2];
	}
	if(cop1[i]==0){
		ar1[i]=0;
	}
	if(cop1[i]>0){
		ar1[i]=cop1[i]*cop2[1];
	}		
}
sort(ar1+1,ar1+1+n1,cmp2);//拔高个 
  1. 拼音注释人 & 出题人
#include<bits/stdc++.h>
#define ll long long
#define ull unsigned long long
using namespace std;
bool a[2505][2505];//test
ll score[2505];
/*
从文件 transmit.in 中读入数据。
第一行包含 3 个正整数 n, m, k,分别表示地图上点的个数、双向直达的点对数量、
每段行程最多的转车次数。
第二行包含 n ? 1 个正整数,分别表示编号为 2, 3, . . . , n 的景点的分数。
接下来 m 行,每行包含两个正整数 x, y,表示点 x 和 y 之间有道路直接相连,保
证 1 ≤ x, y ≤ n,且没有重边,自环。
*/
//ll dp[7][2505];
int kk,nn;
bool vis[2505];
int sss;
//int ceshi[114514];
ll dfs(int d,int n,int k){//date,number
	//cout<<d<<" n:"<<n<<" k:"<<k<<endl;
//	if(d==3&&n==3)cout<<"";
//	if(d==4&&n==2)cout<<"";
//	if(d==5&&n==3)cout<<"";
	if(d>=5){
		if(n==1)return 0;
		else return -1;
	}
	if(k<0){//zhuan cheng ji hui yong wan
		//wei shen me!!!zhe ge k zong shi you wen ti
		//这个k有问题 
		//cout<<kk<<endl;
		if(!(vis[n])&&(n!=1)){
			vis[n]=1;
			ll s = dfs(d+1,n,kk)+score[n];
			vis[n]=0;
			return s;
		}else{
			return -1;
		}
	}
//	if(k==kk){
//		cout<<vis[n];
//	}
	//cout<<d<<" n:"<<n<<" vis:"<<vis[n]<<endl;
	ll s=0;
	if((!(vis[n]))&&(n!=1)){
		//if(n==2)cout<<"nnnnnnnnnnnnnnnnnnnnnnnnnnnn2222222222222222222222\n"<<vis[n];
		vis[n]=1;
		s = dfs(d+1,n,kk)+score[n];
		//cout<<vis[n];
		vis[n]=0;
	}//ceshi[d]=n;
	for(int i=1;i<=nn;i++){
		if(a[n][i]){
			//if(dfs(d,i,k-1)>s)ceshi[d]=i;
			s=max(s,dfs(d,i,k-1));
		}//cout<<d<<" n:"<<n<<" i:"<<i<<" k:"<<k<<" s:"<<s<<endl;
	}
	//cout<<d<<" n:"<<n<<" k:"<<k<<" s:"<<s<<endl;
	return s;
}
int main(){
	ios::sync_with_stdio(0);//CSP AK I 
	ios::sync_with_stdio(1);//wobudaoa
	ios::sync_with_stdio((bool)((1|0)&0&(0|1|1)));
	freopen("transmit.in","r",stdin);
	freopen("transmit.out","w",stdout);
	//freopen("holiday2.in","r",stdin);
	//freopen("holiday2.out","w",stdout);
	int n,m,k;//deng deng dong mei shi jian li(bei)
	cin>>n>>m>>k;
	kk=k;nn=n;
	for(int i=2;i<=n;i++){
		cin>>score[i];
	}score[1]=0;
	for(int i=0;i<m;i++){
		int x,y;cin>>x>>y;//
		a[x][y]=a[y][x]=1;
	}
	//zhe ge ying gai shi dfs???
	//dfs();
	//suan le hai shi dp ba
	/*for(int i=2;i<=n;i++){
		dp[0][i]=-1;
	}
	dp[0][1]=0;
	for(int i=1;i<=5;i++){//游览的第几个 
		for(int j=1;j<=n;j++){//到达编号 
			if()
		}
	}*/
	//zen me zuo
	//dfs
	cout<<dfs(0,1,kk);
	return 0;
}//-114514pts

  1. GG 人
signed main() {
	freopen("transmit.in","r",stdin);
	freopen("transmit.out","w",stdout);
	cin >> n >> p >> k;
	for(int i = 1; i <= n; i ++ ) cin >> a[i];
	for(int i = 1; i < n; i ++ ) {
		int x,y; cin >> x >> y;
		G[y].push_back(x); G[x].push_back(y);
		t[x][1].push_back(y); t[y][1].push_back(x);
	}
//	cout << "GG";
	...
    return 0;
}
  1. qwq 人
void dfs1(int u, int fa) {
	for (unsigned i = 0; i < tr[u].size(); ++i) {
		int v = tr[u][i];
		if (vis[v]) continue;
//	puts("qwq");
		vis[v] = 1;
		dfs1(v, u);
	}
}
	// You will see it.
	// Use my first code style.
#include <iostream> // My firt included
#include <iomanip> // My second included
#include <algorithm> // My third included

using namespace std;

int k;

int main()
{
	// I think this is the best answer.
	// Rand is a good thing.
	// It provides us with hope and dream.
	// I will use it until me die.
	
	freopen("transmit.in", "r", stdin);
	freopen("transmit.out", "w", stdout);
	
	srand(20200921); // The date I began to learn OI.
	
	while(1) // Oh, a well grammar.
		k = rand();
	
	cout << k; // Wondeful end.
	
	return 0;
	
	// Taller and taller.
	// I still a 7 - Grade student.
	// Then I will stop learning OI to learn about Pho and MO.
	// Go for it!
	// A _ F _ O
	//                          -- At the last time for me
	//                                    love OI Forever!
	//                                      2022 - 10 - 29
}

祝好

  1. 有 huan 人
if(all != 1)
	return 0; // two or more or No son(s)

for(int i = He[u]; i; i = Ne[i])
	if(vis[To[i]] == t && Au[i])
		return 1; // Have A "Huan"

for(int i = He[u]; i; i = Ne[i])
	if(vis[To[i]] != t && Au[i])
		return dfs(To[i]);

return 0; // No son (?
  1. 考场迷惑代码警告——以下均为 GD-S01478 的代码
//求求你!!! V我114514吧!!!
//求求你!!! V我114514吧!!!
//求求你!!! V我114514吧!!! 

//一眼题???
//其实就是每个点出度为1就OK????
//问题来了 怎么维护每个点 出/入度??? 

//如果假了我就是小丑!!!
//很难想象考生做题时的精神状态 

//但是我不会用set
//so sad
//求而不得 san值归零!!!
//啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

//考场迷惑代码预告!!!
 
#include<bits/stdc++.h>

using namespace std;

const int N=5e5+7;

struct NODE
{
	int u;
	bool ok;
}line[N];

int n,m;
int out[N];
int head[N];
int nxt[N];
int num;

void insert(int u,int v)
{
	line[num].u=u;line[num].ok=true;nxt[num]=head[v];head[v]=num++;
}
bool check()
{
	bool ok=true;
	for(int i=1;i<=n;++i)if(out[i]!=1)ok=false;
	return ok;
}

int main()
{
	freopen("galaxy.in","r",stdin);
	freopen("galaxy.out","w",stdout);
	...
}


//求求你!!! V我500吧!!!
//求求你!!! V我500吧!!!
//求求你!!! V我500吧!!! 

// AS WE~ AS~WE~CAN
//啊~?  幻想乡! 

//考场迷惑代码预告!!!

#include<bits/stdc++.h>

using namespace std;

const int N=1010;
const long long INF=1e18+7;

int n,m,q;
long long a[N],b[N];
long long T_min[N*4],T_max[N*4];

void build_tree(int u,int l,int r)
{
	...
}

long long query_min(int u,int l,int r,int L,int R)
{
	...
}
long long query_max(int u,int l,int r,int L,int R)
{
	...
}

int main()
{
	freopen("game.in","r",stdin);
	freopen("game.out","w",stdout);
	...
}


//求求你!!! V我50吧!!!
//求求你!!! V我50吧!!!
//求求你!!! V我50吧!!! 

//每日乳法(1/1)
//4h 普鲁士荣耀循环播放 

//考场迷惑代码预告!!! 

#include<bits/stdc++.h>

using namespace std;

const int N=2600;
const int INF=1e9+7;

long long val[N];
int n,m,k;
vector<int>G[N];
int dis[N][N];//当然表示两个点是否链接啦!!! 
bool vis[N];
long long f[N][5];//第j个景点 是i的最大值 
int last[N][5];

void V_ME_50(int U)
{
	queue<int>Q;
	dis[U][U]=0;
	vis[U]=true;
	Q.push(U);
	while(!Q.empty())
	{
		int u=Q.front();
		Q.pop();
		if(dis[U][u]==k)break;
		for(int i=0;i<G[u].size();++i)
		{
			int v=G[u][i];
			if(vis[v])continue;
			dis[U][v]=dis[U][u]+1;
			vis[v]=true;
			Q.push(v);
		}
	}
}

int main()
{
	freopen("holiday.in","r",stdin);
	freopen("holiday.out","w",stdout);
	...
}



//求求你!!! V我1919810吧!!!
//求求你!!! V我1919810吧!!!
//求求你!!! V我1919810吧!!! 

//一眼丁真鉴定为:dp题
//但是我不会 

//考场迷惑代码预告!!!

#include<bits/stdc++.h>

using namespace std;

const int N=2005;
const long long INF=1e18;

struct NODE
{
	int u;
	long long w;
};

int n,q,k;
long long val[N];
vector<int>G[N];
int dis[N][N];
long long f[N];
bool vis[N];
int s,t;
priority_queue<NODE>V;
bool operator<(const NODE& a,const NODE& b)
{
	return a.w<b.w;
}

void V_ME_50(int u,int fa,int dep,int p)
{
	if(dep>k)return;
	dis[p][u]=dep;
	for(int i=0;i<G[u].size();++i)
	{
		int v=G[u][i];
		if(v==fa)continue;
		V_ME_50(v,u,dep+1,p);
	}
}

void V_ME_5e18()
{
	f[s]=val[s];
	V.push(NODE{s,val[s]});
	while(!V.empty())
	{
		NODE node=V.top();
		V.pop();
		for(int i=1;i<=n;++i)
		{
			if(dis[node.u][i]==-1)continue;
			if(f[i]>node.w+val[i])
			{
				f[i]=node.w+val[i];
				V.push(NODE{i,f[i]});
			}
		}
	}
	while(!V.empty())V.pop();
	printf("%lld\n",f[t]);
}

int main()
{
	freopen("transmit.in","r",stdin);
	freopen("transmit.out","w",stdout);
	scanf("%d%d%d",&n,&q,&k);
	for(int i=1;i<=n;++i)scanf("%lld",&val[i]);
	for(int i=1;i<n;++i)
	{
		int u,v;
		scanf("%d%d",&u,&v);
		G[u].push_back(v);
		G[v].push_back(u);
	}
	for(int i=1;i<=n;++i)
	{
		for(int j=1;j<=n;++j)dis[i][j]=-1;
		V_ME_50(i,i,0,i);
		//for(int j=1;j<=n;++j)cout<<dis[i][j]<<" ";
		//cout<<endl;
	}
	while(q--)
	{
		scanf("%d%d",&s,&t);
		for(int i=1;i<=n;++i)f[i]=INF;
		V_ME_5e18();
	}
}

  1. 宇宙射线人
#include<bits/stdc++.h>
using namespace std;
long long in[500001],out[500001],past[500001];
int main() {
	freopen("galaxy.in","r",stdin);
	freopen("galaxy.out","w",stdout);
	long long i,j,m,n,q,s,t,u,v;
	bool b;
	cin>>n>>m;
	for(i=1; i<=m; i++) {
		cin>>u>>v;
		out[u]++;
		in[v]++;
	}
	cin>>q;
	for(i=1; i<=q; i++) {
		cin>>t;
		b=true;
		if(t==1) {
			cin>>u>>v;
			out[u]--;
			in[v]--;
		}else if(t==3) {
			cin>>u>>v;
			out[u]++;
			in[v]++;
		} else if(t==2){
			cin>>u;
			past[u]=in[u];
			in[u]=0;
			b=false;
		}else{
			cin>>u;
			in[u]=past[u];
		}
		s=0;
		for(j=1; j<=n; j++) {
			if(out[j]==0) b=false;
			s+=in[j];
		}
		if((s==n)&&(b==true)) cout<<"YES\n";
		else cout<<"NO\n";
	}
	fclose(stdin);
	fclose(stdout);
	return 0;
}
//受宇宙射线影响
//以上代码可能被修改
//无法输出正确答案
  1. 随机数人
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <vector>
#include <map>

int n, m, q;

std::vector<int> arr[500005];
std::map<std::pair<int, int>, bool> vis;

bool isA() {
	int hallelujah = std::rand(); // Everything depends on Him - God
	return hallelujah % 2 == 0;
}
bool isB() {
	for (int i = 1; i <= n; i++) {
		if (arr[i].size() != 1) {
			return false;
		}
	}
	return true;
}

int main() {
	std::freopen("galaxy.in", "r", stdin);
	std::freopen("galaxy.out", "w", stdout);

	std::srand(20071217); // the birthday of Ziying
	
	std::cin >> n >> m;
	for (int i = 1; i <= m; i++) {
		int u, v;
		std::cin >> u >> v;
		arr[u].push_back(v);
		
	}
	
	std::cin >> q;
	while (q--) {
		...
	}
	
	return 0;
}
bool cirl(){ //司马cirl() !!!!!!!!!!!!!!!!!!!!!!!!
	queue<int> q;
	bool is[500005]{0};
	q.push(1);
//	is[3]=1;
	while(q.size()){
		int t=q.front();
		q.pop();
//		cout << is[3] << ' ' << t << endl;
		if(is[t]) return 1;
		is[t]=1;
		if(ver[t]==0) continue;
		for(int i = h[t];i!=-1;i=avil[i]?ne[i]:-1){
			if(avuv[{i,to[i]}])
				q.push(to[i]);
		}
	}
 return 0;
}
  1. 表白 CCF 人Ⅲ
#include<bits/stdc++.h>
#define pii pair<int, int>
#define piii pair<pii, int>
#define fi first
#define se second
#define mp make_pair
using namespace std;
//typedef long long ll;
pii seg[400005], seg1[400005];
int a[100005], b[100005];
bool zer[100005];
int read() {
	...
}
void bld(int x, int l, int r) {
	...
}
piii qey(int x, int l, int r, int L, int R) {
	...
//	cout << "我爱CCF" << endl;
	return mp(mp(mx, mn), zz);
}
void bld1(int x, int l, int r) {
	...
}
pii qey1(int x, int l, int r, int L, int R) {
	if (L <= l && r <= R) return seg1[x];
	int md = (l + r) >> 1, mn = 2000000000, mx = -2000000000;
	if (md >= L) {
		pii xx = qey1(x << 1, l, md, L, R);
		mx = xx.fi;
		mn = xx.se;
	}
	if (md < R) {
		pii yy = qey1(x << 1 | 1, md + 1, r, L, R);
		mx = max(mx, yy.fi);
		mn = min(mn, yy.se);
	}
//	cout << x << " " << mx << " " << mn << " " << endl;
//	cout << "我爱CCF" << endl;
	return mp(mx, mn);
}
int main() {
	freopen("game.in", "r", stdin);
	freopen("game.out", "w", stdout);
	int n = read(), m = read(), _ = read();
	for (int i = 1; i <= n; i++) a[i] = read();
	for (int i = 1; i <= m; i++) b[i] = read();
	bld(1, 1, n);
	bld1(1, 1, m);
	while (_--) {
		...
	}
	return 0;
}
  1. Bigint 人
//const int Len=4,D=1000000000;

//struct BigInt
//{
//	long long num[Len+1];
//	short sign;
//	
//	BigInt abs_()
//	{
//		sign=1;
//		return *this;
//	}
//	
//	BigInt()
//	{
//		sign=1;
//		for(int i=1;i<=Len;i++)
//			num[i]=0;
//	}
//	
//	BigInt(long long x)
//	{
//		if(x<0)
//			sign=-1;
//		else
//			sign=1;
//		x=abs(x);
//		for(int i=1;i<=Len;i++)
//			num[i]=0;
//		int i=1;
//		while(x)
//		{
//			num[i++]=x%D;
//			x/=D;
//		}
//	}
//};
//
//bool operator<(BigInt x,BigInt y)
//{
//	if(x.sign!=y.sign)
//		return x.sign==-1;
//	for(int i=Len;i>=1;i--)
//	{
//		if(x.num[i]*x.sign<y.num[i]*y.sign)
//			return true;
//		if(x.num[i]*x.sign>y.num[i]*y.sign)
//			return false;
//	}
//	return false;
//}
//
//BigInt operator+(BigInt x,BigInt y)
//{
//	BigInt res;
//	if(x.sign==y.sign)
//	{
//		res.sign=x.sign;
//		long long p,t=0;
//		for(int i=1;i<=Len;i++)
//		{
//			p=x.num[i]+y.num[i]+t;
//			res.num[i]=p%D;
//			t=p/D;
//		}
//	}
//	else
//	{
//		if(y.abs_()<x.abs_() && x.sign==-1 || x.abs_()<y.abs_() && y.sign==-1)
//			res.sign=-1;
//		else
//			res.sign=1;
//		if(x.abs_()<y.abs_())
//			swap(x,y);
//		
//		long long t=0,p;
//		for(int i=1;i<=Len;i++)
//		{
//			p=x.num[i]-t-y.num[i]+D;
//			res.num[i]=p%D;
//			if(p-D<0)
//				t=1;
//			else
//				t=0;
//		}
//	}
//	return res;
//}
  1. 佛曰
if(mas[u]>0) mas[u]--;//由此出 
if(maps[v]>0) maps[v]--;//由此结 
//真的没时间了..... 
//你停止了挣扎吗?
//请不要这样。
//............................................. 
//就像这样,自始至终,你都没有清醒的头脑。从那时开始就是了。
/* 
#include <algorithm>
#include <iostream>
#include <cstring>
#include <cstdio>
#include <cmath>
using namespace std;
#define MAXN (int)(1e5+233)
#define leftson (cur<<1)
#define rightson (cur<<1|1)
#define mid ((l+r)>>1)
int a[MAXN];

struct qwq1
{
	int ansl[MAXN][2],ansm[MAXN],ansr[MAXN][2];
	inline void build1(int cur,int l,int r)
	{
		if (l==r)
		{
			if (a[l]<0) ansl[cur][0]=ansl[cur][1]=a[i];
			return;
		}
		build1(leftson,l,mid);
		build1(rightson,mid+1,r);
		ansl[cur][1]=max(ansl[leftson][1]==0?-2e9:ansl[leftson][1],ansl[rightson][1]==0?-2e9:ansl[rightson][1]);
		if (ansl[cur][1]==-2e9) ansl[cur][1]=0;
		ansl[cur][0]=min(ansl[leftson][0],ansl[rightson][0]);
	}
	inline void build2(int cur,int l,int r)
	{
		if (l==r)
		{
			if (a[l]==0) ansm[cur]=1;
			return;
		}
		build2(leftson,l,mid);
		build2(rightson,mid+1,r);
		ansm[cur]=ansm[leftson]|ansm[rightson];
	}
	inline void build3(int cur,int l,int r)
	{
		if (l==r)
		{
			if (a[l]>0) ansr[cur][0]=ansr[cur][1]=a[i];
			return;
		}
		build3(leftson,l,mid);
		build3(rightson,mid+1,r);
		ansr[cur][0]=min(ansr[leftson][0]==0?2e9:ansr[leftson][0],ansr[rightson][0]==0?2e9:ansr[rightson][0]);
		if (ansr[cur][0]==2e9) ansr[cur][0]=0;
		ansr[cur][1]=max(ansr[leftson][0],ansr[rightson][0]);
	}
	inline int query1(int cur,int l,int r,int ql,int qr)
	{
		if (ql<=l&&r<=qr)
		{
		}
	}
}t1;

struct qwq2
{
	int ansl[MAXN][2],ansm[MAXN],ansr[MAXN][2];
	inline void build1(int cur,int l,int r)
	{
		if (l==r)
		{
			if (b[l]<0) ansl[cur][0]=ansl[cur][1]=a[i];
			return;
		}
		build1(leftson,l,mid);
		build1(rightson,mid+1,r);
		ansl[cur][1]=max(ansl[leftson][1]==0?-2e9:ansl[leftson][1],ansl[rightson][1]==0?-2e9:ansl[rightson][1]);
		if (ansl[cur][1]==-2e9) ansl[cur][1]=0;
		ansl[cur][0]=min(ansl[leftson][0],ansl[rightson][0]);
	}
	inline void build2(int cur,int l,int r)
	{
		if (l==r)
		{
			if (b[l]==0) ansm[cur]=1;
			return;
		}
		build2(leftson,l,mid);
		build2(rightson,mid+1,r);
		ansm[cur]=ansm[leftson]|ansm[rightson];
	}
	inline void build3(int cur,int l,int r)
	{
		if (l==r)
		{
			if (b[l]>0) ansr[cur][0]=ansr[cur][1]=a[i];
			return;
		}
		build3(leftson,l,mid);
		build3(rightson,mid+1,r);
		ansr[cur][0]=min(ansr[leftson][0]==0?2e9:ansr[leftson][0],ansr[rightson][0]==0?2e9:ansr[rightson][0]);
		if (ansr[cur][0]==2e9) ansr[cur][0]=0;
		ansr[cur][1]=max(ansr[leftson][0],ansr[rightson][0]);
	}
}t2;


int main()
{
	scanf("%d%d%d",&n,&m,&q);
	for (int i=1;i<=n;i++) scanf("%d",&a[i]);
	t1.build1(1,1,n); t1.build2(1,1,n); t1.build3(1,1,n);
	t2.build1(1,1,m); t2.build2(1,1,m); t2.build3(1,1,m);
	for (int i=1;i<=m;i++) scanf("%d",&b[i]);
	int l1,l2,r1,r2;
	int typ;
	int ep1,ep2,ep3;
	while (q--)
	{
		scanf("%d%d%d%d",&l1,&l2,&r1,&r2);
		ep1=
	}
	//no time
}
*/
//起码不能拖累别人,你说是吧。 
//停滞的心是比爆零更加可耻的。 
#include <algorithm>
#include <iostream>
#include <cstring>
#include <cstdio>
#include <cmath>
using namespace std;
#define MAXN (int)(1e5+233)
inline long long lmax(long long A,long long B) { return A>B?A:B; }
inline long long lmin(long long A,long long B) { return A<B?A:B; }
int n,m,q;
long long a[MAXN],b[MAXN];
int main()
{
	freopen("game.in","r",stdin);
	freopen("game.out","w",stdout); 
//	freopen("game3.in","r",stdin);
//	freopen("kkz.txt","w",stdout);
	scanf("%d%d%d",&n,&m,&q);
	for (int i=1;i<=n;i++) scanf("%lld",&a[i]);
	for (int i=1;i<=m;i++) scanf("%lld",&b[i]);
	int l1,l2,r1,r2;
	while (q--)
	{
		scanf("%d%d%d%d",&l1,&r1,&l2,&r2);
		long long P,L,R;
		R=-2e18;
		for (int i=l1;i<=r1;i++)
		{
			L=2e18;
			for (int j=l2;j<=r2;j++)
			{
				P=a[i]*b[j];
				L=lmin(P,L);
			}
			R=lmax(R,L);
		}
		printf("%lld\n",R);
	}
}

停滞的心是比爆零更加可耻的。

  1. 魔怔人
#include <iostream>
#include <cstdio>

using namespace std;
typedef long long ll;
const int MAXN = 100010;
const ll INF = 0x39C5BBBBBBBBBBBBLL;

ll parr[MAXN], narr[MAXN], mn[3][MAXN<<2], mx[3][MAXN<<2]; int pc[MAXN], zc[MAXN], nc[MAXN];

// 我们联合!!! 
void build(int o, int rt, int l, int r) {
	...
}
ll query_min(int o, int rt, int l, int r, int x, int y) {
	...
}
ll query_max(int o, int rt, int l, int r, int x, int y) {
	...
}
  1. 好歹记得多测啊
#include<bits/stdc++.h>
using namespace std;
int main(){
	freopen("galaxy.in","r",stdin);
	freopen("galaxy.out","w",stdout); 
	cout<<"NO"<<endl;
	return 0;
}
//我是真不会 
  1. 魔怔人Ⅱ
void prework() {
	// ST...My Miss.ST...U R so lovely :/===
	rep(i, 2, max(n, m)) log[i] = log[i << 1] + 1;
	
	// prework A.ST
	rep(i, 1, n) {
		if(A[i] >= 0) {
			PosMaxA[i][0] = PosMinA[i][0] = A[i];
			NegMaxA[i][0] = -inf;
			NegMinA[i][0] = inf;
		} else {
			NegMaxA[i][0] = NegMinA[i][0] = A[i];
			PosMaxA[i][0] = -inf;
			PosMinA[i][0] = inf;
		}
	}
	
	rep(k, 1, 22) {
		rep(i, 1, n) {
			if(i + e2(k-1) <= n + 1) PosMaxA[i][k] = max(PosMaxA[i][k-1], PosMaxA[i + e2(k-1)][k-1]);
			if(i + e2(k-1) <= n + 1) PosMinA[i][k] = min(PosMinA[i][k-1], PosMinA[i + e2(k-1)][k-1]);
			if(i + e2(k-1) <= n + 1) NegMaxA[i][k] = max(NegMaxA[i][k-1], NegMaxA[i + e2(k-1)][k-1]);
			if(i + e2(k-1) <= n + 1) NegMinA[i][k] = min(NegMinA[i][k-1], NegMinA[i + e2(k-1)][k-1]);
		}
	}
	
	// prework B.ST

	rep(i, 1, m) {
		if(B[i] >= 0) {
			PosMaxB[i][0] = PosMinB[i][0] = B[i];
			NegMaxB[i][0] = -inf;
			NegMinB[i][0] = inf;
		} else {
			NegMaxB[i][0] = NegMinB[i][0] = B[i];
			PosMaxB[i][0] = -inf;
			PosMinB[i][0] = inf;
		}
	}

	rep(k, 1, 22) {
		rep(i, 1, m) {
			if(i + e2(k-1) <= m + 1) PosMaxB[i][k] = max(PosMaxB[i][k-1], PosMaxB[i + e2(k-1)][k-1]);
			if(i + e2(k-1) <= m + 1) PosMinB[i][k] = min(PosMinB[i][k-1], PosMinB[i + e2(k-1)][k-1]);
			if(i + e2(k-1) <= m + 1) NegMaxB[i][k] = max(NegMaxB[i][k-1], NegMaxB[i + e2(k-1)][k-1]);
			if(i + e2(k-1) <= m + 1) NegMinB[i][k] = min(NegMinB[i][k-1], NegMinB[i + e2(k-1)][k-1]);
		}
	}
//	rep(i, 1, m) printf("%lld ", NegMinB[i][2]);
//	puts("===");
}
  1. 没有室友人
#include<bits/stdc++.h>
using namespace std;
int main(){
	freopen("galaxy.in","r",stdin);
	freopen("galaxy.out","w",stdout); 
	int n,m,q;
	cin>>n>>m;
	while(m--){
		int u,v;
		cin>>u>>v;
	}
	cin>>q;
	while(q--){
		int t;
		cin>>t;
		if(t==1){
			int u,v;
			cin>>u>>v;
			cout<<"NO"<<endl;
		}
		if(t==2){
			int u;
			cin>>u;
			cout<<"NO"<<endl;
		}
		if(t==3){
			int u,v;
			cin>>u>>v;
			cout<<"YES"<<endl;
		}
		if(t==4){
			int u;
			cin>>u;
			cout<<"YES"<<endl;
		}
	}
	return 0;
}
//用我三个室友十年单身换这道题多过几个点 
  1. 神仙人
#include <iostream>
#include <cstring>
#include <cstdio>
#define lll long long
using namespace std;
//我他马简直是神仙
//各位,15:12分想出了正解朋友们

lll lg[100010];

int n,m,q;
class maxst{
public:
    int nn;
    lll a[100010][24];
    maxst()
    {
        memset(a,-0x3f,sizeof(a));
    }
    void init(int mm)
    {
        ...
    }
    lll query_max(int l,int r)
    {
        ...
    }
    void output()
    {
        ...
    }
}bmax,anegmax,amax;


class minst{
public:
    int nn;
    lll a[100010][24];
    minst()
    {
        memset(a,0x3f,sizeof(a));
    }
    void init(int mm)
    {
        ...
    }
    lll query_min(int l,int r)
    {
        ...
    }
    void output()
    {
        ...
    }
}bmin,aposmin,amin;

int main()
{
    freopen("game.in","r",stdin);
    freopen("game.out","w",stdout);
    lg[1]=0;
    for(int i = 2; i <= 100005; i++)
        lg[i]=lg[i/2]+1;
    cin >> n >> m >> q;
    //cout << "fuck0" << endl;
    for(int i = 1; i <= n; i++)
    {
        int tmp;
        cin >> tmp;
        amax.a[i][0]=tmp;
        amin.a[i][0]=tmp;
        if(tmp<=0)anegmax.a[i][0]=tmp;
        if(tmp>=0)aposmin.a[i][0]=tmp;
    }
    //cout << "fuck1" << endl;
    for(int i = 1; i <= m; i++)
    {
        int tmp;
        cin >> tmp;
        bmax.a[i][0]=tmp;
        bmin.a[i][0]=tmp;
    }
    //cout << "fuck2" << endl;
    bmax.init(m);
    anegmax.init(n);
    amax.init(n);
    bmin.init(m);
    aposmin.init(n);
    amin.init(n);
    //cout << "Input Stage1 finished"<<endl;
    //anegmax.output();

//设 maxB为B最大数,
//  minB为B最小数。
//情况一。如果Bmax<0那么直接草上A最小。
//情况二。如果Bmin>0那么直接草上A最大。
//情况三。分类:(显然此时必一正一负)
//    如果B1<-B2那么草上A最大非正数。
//    如果B1>-B2那么草上A最大非负数。
//输出。
//1=简简单单朋友们。
//完了,wa了
    for(int i = 1; i <= q; i++)
    {
        ...
        if(maxB<-minB)
        {
            //优先使用maxB
            if(minA<=0)
                printf("%lld\n",anegmax.query_max(ll1,rr1)*maxB);
            else
            //被迫使用minB
                printf("%lld\n",minA*minB);
        }else{
            //优先使用minB
            if(maxA>=0)
                printf("%lld\n",aposmin.query_min(ll1,rr1)*minB);
            else
            //被迫使用maxB
                printf("%lld\n",maxA*maxB);
        }
    }
    return 0;

}
  1. 我不会 人
#include <bits/stdc++.h>
using namespace std;
int main() {
	freopen("transmit.in", "r", stdin);
	freopen("transmit.out", "w", stdout);
	int n, q, k;
	cin >> n >> q >> k;
	cout << n << q << k; 
	//我不会 
	return 0; 
}
  1. 记录人

(上面两个确实是从两份不同代码处截来的)

// Code by cxzlw
// Date: 2022/10/29
// Start: 15:18
// End: 17:25
// Time: 2h13min
// Expect Time: 1h30min
// Special: No.

// Code by cxzlw
// Date: 2022/10/29
// Start: 15:18
// End: 17:25
// Time: 2h13min
// Expect Time: 1h30min
// Special: No.

// Code by cxzlw
// Date: 2022/10/29
// Start: 17:27
// End: 
// Time:
// Special: k=0
  1. 模板人
#include <bits/stdc++.h>
using namespace std;

namespace FastIO
{

template<typename T>
inline void read(T &x)
{
	char ch,sym=0;x=0;
	while(isspace(ch=getchar()));
	if(ch=='-') sym=1,ch=getchar();
	for(;isdigit(ch);x=(x<<1)+(x<<3)+(ch^48),ch=getchar());
	if(sym) x=-x;
}
template<typename T>
inline void write(T x)
{
	if(x<0) return putchar('-'),write(-x);
	char stk[64],*top=stk;
	do *(++top)=x%10+'0',x/=10; while(x);
	while(top!=stk) putchar(*(top--));
}
template<typename T>
inline void writesp(T x) { write(x),putchar(' '); }
template<typename T>
inline void writeln(T x) { write(x),putchar('\n'); }

} // namespace FastIO
using namespace FastIO;

using LL=long long;
using LD=long double;
using UI=unsigned int;
using ULL=unsigned long long;

#ifndef DADALZY
#define FILEIO(file) freopen(file".in","r",stdin),freopen(file".out","w",stdout);
#else
#define FILEIO(file) //freopen("galaxy4.in","r",stdin),freopen("output.out","w",stdout)
#endif

struct MyHash
{
	inline size_t operator ()(const pair<int,int> &x)const
		{ return size_t(x.first)<<32|x.second; }
};

int n,m,q;
bool del[500005];
vector<pair<int,int>> g[500005],rev[500005];
int cnt,deg[500005];
unordered_map<pair<int,int>,int,MyHash> id;
int main()
{
	...
	return 0;
}
// 不会做,寄了,感觉 T4<T3 
  1. 表白人
//I love WHQ!

在四题结尾都加了此段

  1. 码农人(非一人代码)
void change1(int now,int l,int r,int x){//a数组中最小的正数 
	if(l==r){tree1[now]=a[x]; return ;}
	int mid=(l+r)/2; if(x<=mid) change1(now*2,l,mid,x); else change1(now*2+1,mid+1,r,x);
	tree1[now]=min(tree1[now*2],tree1[now*2+1]);
}
void change2(int now,int l,int r,int x){//a数组中最大的负数 
	if(l==r){tree2[now]=a[x]; return ;}
	int mid=(l+r)/2; if(x<=mid) change2(now*2,l,mid,x); else change2(now*2+1,mid+1,r,x);
	tree2[now]=max(tree2[now*2],tree2[now*2+1]);
}
int getans1(int now,int l,int r,int x,int y){//a数组中最小的正数 
	if(l>y||r<x) return 0; if(x<=l&&y>=r){temp=min(temp,tree1[now]); return 0;}
	int mid=(l+r)/2;
	if(x<=mid) getans1(now*2,l,mid,x,y); if(y>mid) getans1(now*2+1,mid+1,r,x,y);
	return 0;
}
int getans2(int now,int l,int r,int x,int y){//a数组中最大的负数 
	if(l>y||r<x) return 0; if(x<=l&&y>=r){temp=max(temp,tree2[now]); return 0;}
	int mid=(l+r)/2;
	if(x<=mid) getans2(now*2,l,mid,x,y); if(y>mid) getans2(now*2+1,mid+1,r,x,y);
	return 0;
}
void build3(int now,int l,int r){//a数组中最大的数
	if(l==r){tree3[now]=a[l]; return ;}
	int mid=(l+r)/2; build3(now*2,l,mid); build3(now*2+1,mid+1,r); tree3[now]=max(tree3[now*2],tree3[now*2+1]);
}
void build4(int now,int l,int r){//a数组中最小的数
	if(l==r){tree4[now]=a[l]; return ;}
	int mid=(l+r)/2; build4(now*2,l,mid); build4(now*2+1,mid+1,r); tree4[now]=min(tree4[now*2],tree4[now*2+1]);
}
int getans3(int now,int l,int r,int x,int y){//a数组中最大的数
	if(l>y||r<x) return 0; if(x<=l&&y>=r){temp=max(temp,tree3[now]); return 0;}
	int mid=(l+r)/2;
	if(x<=mid) getans3(now*2,l,mid,x,y); if(y>mid) getans3(now*2+1,mid+1,r,x,y);
	return 0;
}
int getans4(int now,int l,int r,int x,int y){//a数组中最小的数
	if(l>y||r<x) return 0; if(x<=l&&y>=r){temp=min(temp,tree4[now]); return 0;}
	int mid=(l+r)/2;
	if(x<=mid) getans4(now*2,l,mid,x,y); if(y>mid) getans4(now*2+1,mid+1,r,x,y);
	return 0;
}
void build5(int now,int l,int r){//b数组中最大的数
	if(l==r){tree5[now]=b[l]; return ;}
	int mid=(l+r)/2; build5(now*2,l,mid); build5(now*2+1,mid+1,r); tree5[now]=max(tree5[now*2],tree5[now*2+1]);
}
void build6(int now,int l,int r){//b数组中最小的数
	if(l==r){tree6[now]=b[l]; return ;}
	int mid=(l+r)/2; build6(now*2,l,mid); build6(now*2+1,mid+1,r); tree6[now]=min(tree6[now*2],tree6[now*2+1]);
}
int getans5(int now,int l,int r,int x,int y){//b数组中最大的数
	if(l>y||r<x||l>r) return 0; if(x<=l&&y>=r){temp=max(temp,tree5[now]); return 0;}
	int mid=(l+r)/2;
	if(x<=mid) getans5(now*2,l,mid,x,y); if(y>mid) getans5(now*2+1,mid+1,r,x,y);
	return 0;
}
int getans6(int now,int l,int r,int x,int y){//b数组中最小的数
	if(l>y||r<x||l>r) return 0; if(x<=l&&y>=r){temp=min(temp,tree6[now]); return 0;}
	int mid=(l+r)/2;
	if(x<=mid) getans6(now*2,l,mid,x,y); if(y>mid) getans6(now*2+1,mid+1,r,x,y);
	return 0;
}
ll max(ll x,ll y){return x>y?x:y;}
int main(){
	...
}
int query1(int now,int l,int r,int ql,int qr){//最大值 
	if(ql<=l&&r<=qr) return smt[now].mx;
	int mid=l+r>>1,ls=smt[now].ls,rs=smt[now].rs;
	if(qr<=mid) return query1(ls,l,mid,ql,qr);
	if(ql>mid) return query1(rs,mid+1,r,ql,qr);
	return max(query1(ls,l,mid,ql,qr),query1(rs,mid+1,r,ql,qr));
}
int query2(int now,int l,int r,int ql,int qr){//最小值 
	if(ql<=l&&r<=qr) return smt[now].mn;
	int mid=l+r>>1,ls=smt[now].ls,rs=smt[now].rs;
	if(qr<=mid) return query2(ls,l,mid,ql,qr);
	if(ql>mid) return query2(rs,mid+1,r,ql,qr);
	return min(query2(ls,l,mid,ql,qr),query2(rs,mid+1,r,ql,qr));
}
int query3(int now,int l,int r,int ql,int qr){//正数最大值 
	if(ql<=l&&r<=qr) return smt[now].mx1;
	int mid=l+r>>1,ls=smt[now].ls,rs=smt[now].rs;
	if(qr<=mid) return query3(ls,l,mid,ql,qr);
	if(ql>mid) return query3(rs,mid+1,r,ql,qr);
	return max(query3(ls,l,mid,ql,qr),query3(rs,mid+1,r,ql,qr));
}
int query4(int now,int l,int r,int ql,int qr){//正数最小值 
	if(ql<=l&&r<=qr) return smt[now].mn1;
	int mid=l+r>>1,ls=smt[now].ls,rs=smt[now].rs;
	if(qr<=mid) return query4(ls,l,mid,ql,qr);
	if(ql>mid) return query4(rs,mid+1,r,ql,qr);
	return min(query4(ls,l,mid,ql,qr),query4(rs,mid+1,r,ql,qr));
}
int query5(int now,int l,int r,int ql,int qr){//负数最大值 
	if(ql<=l&&r<=qr) return smt[now].mx2;
	int mid=l+r>>1,ls=smt[now].ls,rs=smt[now].rs;
	if(qr<=mid) return query5(ls,l,mid,ql,qr);
	if(ql>mid) return query5(rs,mid+1,r,ql,qr);
	return max(query5(ls,l,mid,ql,qr),query5(rs,mid+1,r,ql,qr));
}
int query6(int now,int l,int r,int ql,int qr){//负数最小值 
	if(ql<=l&&r<=qr) return smt[now].mn2;
	int mid=l+r>>1,ls=smt[now].ls,rs=smt[now].rs;
	if(qr<=mid) return query6(ls,l,mid,ql,qr);
	if(ql>mid) return query6(rs,mid+1,r,ql,qr);
	return min(query6(ls,l,mid,ql,qr),query6(rs,mid+1,r,ql,qr));
}
  1. 看不懂人(双关)
#include <bits/stdc++.h>
using namespace std;
//看不懂(好的,又看懂了),脑子里只剩口爸的galaxy friends 
int n,m,q,t;
bool being[1010][1010],usfl[1010][1010];
int now[1010];
void zerolize(int a) 
{
	...
}
void fix(int a) 
{
	...
}
void check()
{
	...
}
int main(){
freopen("galaxy.in","r",stdin);freopen("galaxy.out","w",stdout);
...
//所谓反击的两个判定条件其实能合并成一个,就是每个据点的出度均为一,那么无论如何连接,总会同时满足两个条件。 
return 0;
}
//双星有什么难的,我rks15.53!!!
//放慢了八倍速一个音符一个音符地看,发现这游戏就是唬人的样,看着像按到了其实没按到
//主播打得还可以,就是什么年代了还在玩传统音游
//今天是广藿香不是藿香首次参加CSP-S的一天,追逐梦想的路上有坎坷有挫折,有汗水有泪滴,中间的忘了,总之AK路上有你有他没有我(
//有一说一,真的有人能看到我的代码吗?
//到达世界最高城----理塘,太美丽了理塘~;哟,这不是丁真嘛,家人们,咱还是来看看远处的雪山吧
//AK CSP!!!(疯了 
  1. 睡了睡了人
#include <bits/stdc++.h>
#include <iostream>
using namespace std;

//睡了睡了 

//int val[2501];
//int mp[2501][2501]
//int n , m , k;
//void finds(int point , int valua){
//	for(int i = 1 ; i <= 4 ; ++i){
//		
//	} 
//}

int main(){
	freopen("holiday.in" , "r" , stdin);
	freopen("holiday.out" , "w" , stdout);
//	memset(mp , 0 , sizeof(mp));
//	cin>>n>>m>>k;
//	for(int i = 1 ; i <= n ; ++i)
//		cin>>val[i];
//	for(int i = 1 ; i <= n ; ++i){
//		int u , v;
//		cin>>u>>v;
//		mp[u][v] = 1;
//	}
//	finds(1 , 0);
	cout<<6<<endl;
	fclose(stdin);
	fclose(stdout);
	return 0;
}
  1. 神之码农人

https://www.luogu.com.cn/paste/ox08gbgd

  1. 作诗人
//代码千万条 输出第一条 输出不规范  爆零两行泪 
  1. 心路人
// to dfs or to A*, that is the question
// 好吧菊花能卡掉上面两个
// O(nm) 是正解吧 /kel
// 该题的唯一难度是发现这样做居然能过
// the art of brute force 石锤
// O(4*n^2 + n*m),常数奇大,但估计能过
// /kel
// CSP2022 rp++!
// CCF 求求你别让我挂分 /kel
// can i have 1= plz?
  1. txdy 人
//p_b_p_b txdy
//ntf ntf txdy
//cdw cdw txdy
//LH  LH  txdy
//zz  zz  txdy
//ZLT ZLT txdytxdytxdytxdytxdytxdytxdytxdytxdytxdytxdytxdytxdy

//score : 16~52
//csp-s rp++ !
  1. 样例与 rand 人
#include<bits/stdc++.h>
using namespace std;
int main(){
	//18:12
	//是图罢
	srand(time(NULL));
	freopen("transmit.in","r",stdin);
	freopen("transmit.out","w",stdout);
	int n,q,k,a[200005];
	cin>>n>>q>>k;
	for(int i=0;i<n;i++) scanf("%d",&a[i]); 
	if(n==7&&q==3&&k==3&&a[2]==2&&a[6]==6){
		printf("12\n12\n3");
		return 0;
	}
	if(n==10&&q==10&&k==3&&a[2]==912572995&&a[4]==156367225){
		printf("1221097936\n1086947276\n1748274667\n887646183\n939363946\n900059971\n964517506\n1392379601\n992068897\n541763489\n");
		return 0;
	}
	if(n==200&&q==200&&k==2&&a[2]==722454525&&a[3]==685688994){
		printf("2147483647\n1880981588\n2147483647\n2134494931\n1603448826\n2147483647\n2147483647\n2147483647\n1929310315\n2147483647\n2104222440\n2147483647\n1591592897\n2147483647\n1328163754\n1687610228\n1924410922\n2147483647\n737148093\n1897617111\n2147483647\n2147483647\n1790907873\n2102347403\n2147483647\n2147483647\n2147483647\n2147483647\n2147483647\n2147483647\n2147483647\n2147483647\n2147483647\n2147483647\n2147483647\n2147483647\n1196132445\n2147483647\n2147483647\n2147483647\n1304846298\n2147483647\n1254393349\n1443583693\n2147483647\n2147483647\n2147483647\n1911105722\n991544435\n2147483647\n1701316823\n2147483647\n1777048073\n1774216681\n1880014273\n2058689839\n2147483647\n2147483647\n2147483647\n1460378432\n2147483647\n2147483647\n2147483647\n1796770405\n2147483647\n2147483647\n2147483647\n2147483647\n1893989069\n1101319281\n2147483647\n2147483647\n2147483647\n2147483647\n1973206827\n2147483647\n1612786960\n2147483647\n2147483647\n2028996814\n2147483647\n1746982740\n2144690108\n958240256\n2147483647\n1984414100\n2147483647\n1947464099\n2147483647\n2147483647\n1884070193\n2147483647\n2147483647\n2147483647\n1079980749\n2147483647\n2147483647\n1109727443\n2147483647\n2147483647\n2114537159\n2147483647\n2147483647\n2147483647\n1048247962\n2147483647\n2147483647\n2147483647\n2133109414\n2147483647\n1784785145\n2147483647\n2147483647\n2147483647\n1097482042\n2147483647\n1685954099\n2147483647\n1844780554\n844541600\n2147483647\n2147483647\n2147483647\n1817554744\n2147483647\n2147483647\n1387653215\n2147483647\n2147483647\n2147483647\n2147483647\n1476748399\n2147483647\n2147483647\n2147483647\n2147483647\n2147483647\n2147483647\n2147483647\n2147483647\n2045896174\n1292174694\n2147483647\n2147483647\n2147483647\n2147483647\n2147483647\n2147483647\n2147483647\n697480890\n2006075011\n2147483647\n2147483647\n2147483647\n2147483647\n2147483647\n2147483647\n2147483647\n2147483647\n2147483647\n2147483647\n2147483647\n2147483647\n2147483647\n1605118549\n2147483647\n2107629831\n2147483647\n2147483647\n2147483647\n2147483647\n2147483647\n2147483647\n2147483647\n2147483647\n1888297747\n2147483647\n2147483647\n2147483647\n2147483647\n2147483647\n2147483647\n2147483647\n2147483647\n2147483647\n1917432649\n2147483647\n2147483647\n2147483647\n2147483647\n2147483647\n2147483647\n2147483647\n2147483647\n2147483647\n2147483647\n2147483647\n2147483647\n2147483647\n2147483647\n");
		return 0;
	}
	else{
		for(int i=0;i<q;i++){
			if(n<=30) printf("%d\n",rand()%100);
			if(n>30) printf("%d\n",rand()%10000000000);
		}
	}
	return 0;
}
  1. 我看不懂,但我大受震撼
// <algorithm> -*- C++ -*-

// Copyright (C) 2001-2014 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library.  This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 3, or (at your option)
// any later version.

// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// Under Section 7 of GPL version 3, you are granted additional
// permissions described in the GCC Runtime Library Exception, version
// 3.1, as published by the Free Software Foundation.

// You should have received a copy of the GNU General Public License and
// a copy of the GCC Runtime Library Exception along with this program;
// see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
// <http://www.gnu.org/licenses/>.

/*
 *
 * Copyright (c) 1994
 * Hewlett-Packard Company
 *
 * Permission to use, copy, modify, distribute and sell this software
 * and its documentation for any purpose is hereby granted without fee,
 * provided that the above copyright notice appear in all copies and
 * that both that copyright notice and this permission notice appear
 * in supporting documentation.  Hewlett-Packard Company makes no
 * representations about the suitability of this software for any
 * purpose.  It is provided "as is" without express or implied warranty.
 *
 *
 * Copyright (c) 1996,1997
 * Silicon Graphics Computer Systems, Inc.
 *
 * Permission to use, copy, modify, distribute and sell this software
 * and its documentation for any purpose is hereby granted without fee,
 * provided that the above copyright notice appear in all copies and
 * that both that copyright notice and this permission notice appear
 * in supporting documentation.  Silicon Graphics makes no
 * representations about the suitability of this software for any
 * purpose.  It is provided "as is" without express or implied warranty.
 */

/** @file include/algorithm
 *  This is a Standard C++ Library header.
 */
main(){}
  1. 保龄啦人
#include <cstdio>

int main() {
	freopen("transmit.in", "r", stdin);
	freopen("transmit.out", "w", stdout);
	
	return 0;
}
// 保龄啦
// 保龄啦 
// oh no
// 我......怎么连 BF 都不写? 
  1. LCT 人
//T4
//捏吗的我以为是一个图,给我吓坏了
//相当于每一次从树上抽出一条链进行O(n)的DP
//我有一个绝妙的O(qlog n)算法,可惜常数太大 
//绝妙LCT
#include<bits/stdc++.h>
using namespace std;
const int N=1e6+5;
struct Link_Cut_Tree{int son[2],dp,fa,tag;}a[N];
int st[N],f[N],k,n,T;
int read(){
	int w=0,s=1;
	char ch=getchar();
	while(ch>'9'||ch<'0'){
		if(ch=='-') s=-1;
		ch=getchar();
	}
	while(ch<='9'&&ch>='0'){
		w=(w<<1)+(w<<3)+ch-'0';
		ch=getchar();
	}
	return w*s;
}
bool ifroot(int x){return (a[a[x].fa].son[0]==x||a[a[x].fa].son[1]==x);}
int min3(int x,int y,int z){return min(min(x,y),z);}
void pushup(int x){
	if(x==0) return;
	int y,z,w;
	y=a[x].son[1],z=a[x].son[0];
	a[x].dp=min(min(a[y].dp+f[x],a[z].dp+f[x]),a[x].dp);
//	y=a[a[x].son[1]].son[1];
//	w=a[z].son[1];
	if(y==0&&z==0&&w==0){
		a[x].dp=f[x];
		return;
	}
//	a[x].dp=1e9;
//	if(k==3) 
//	if(k>=2) a[x].dp=min(a[z].dp+f[x],a[x].dp);
//	if(k>=1) a[x].dp=min(a[y].dp+f[x],a[x].dp);
}
void pushdown(int x){
	if(a[x].tag){
		swap(a[x].son[0],a[x].son[1]);
		if(a[x].son[0]) a[a[x].son[0]].tag^=1;
		if(a[x].son[1]) a[a[x].son[1]].tag^=1;
		a[x].tag=0;
	}
}
void rotate(int x){
	int y=a[x].fa,z=a[y].fa;
	bool dir=(a[y].son[1]==x);
	int k=a[x].son[!dir];
	if(!ifroot(y)) a[z].son[a[y].son[1]==x]=x;
	a[x].son[!dir]=y;
	a[y].son[dir]=k;
	if(k) a[k].fa=y;
	a[y].fa=x,a[x].fa=z;
	pushup(x);
}
void splay(int x){
	int y=a[x].fa,top=0;
	st[++top]=y;
	while(!ifroot(y)) y=a[y].fa,st[++top]=y;
	while(top) pushup(st[top]),top--;
	while(!ifroot(x)){
		y=a[x].fa;
		int z=a[y].fa;
		if(!ifroot(y)) rotate(((a[z].son[1]==x)^(a[z].son[0]==x))?x:y);
		rotate(x);
	}
}
void access(int x){
	for(register int y=0;x;){
		pushdown(y);
		a[y].son[1]=x;
		x=y,y=a[x].fa;
	}
}
void makeroot(int x){
	access(x);
	splay(x);
	a[x].tag^=1;
}
void link(int x,int y){
	makeroot(x);
	a[x].fa=y;
	a[y].son[1]=x;
}
void split(int x,int y){
	makeroot(x);
	access(y);
	splay(y);
}
int main(){
	freopen("transmit.in","r",stdin);
	freopen("transmit.out","w",stdout);
	n=read(),T=read(),k=read();
	for(register int i=1;i<=n;i++) f[i]=read();
	for(register int i=1;i<n;i++){
		int x=read(),y=read();
		link(x,y);
		a[x].dp=f[x],a[y].dp=f[y];
	}
	while(T--){
		int x=read(),y=read();
		a[x].dp=f[x];
		split(x,y);
		printf("%d\n",a[y].dp);
	}
} 
  1. LCT 人Ⅱ(与上面非一人)
//struct link_cut_tree{
//	int ch[M][2],f[N],val[M],sum[M],st[M];
//	bool r[M];
//	#define lc ch[x][0]
//	#define rc ch[x][1]
//	void pushup(int x){
//		sum[x]=val[x];
//		if(lc&&f[lc]==x)sum[x]+=sum[lc];
//		if(rc&&f[rc]==x)sum[x]+=sum[rc];
//	//	sum[x]=sum[lc]+sum[rc]+val[x];
//	}
//	void rev(int x){swap(lc,rc);r[x]^=1;}
//	int son(int x){return x==ch[f[x]][1];}
//	int nroot(int x){return x==ch[f[x]][1]||x==ch[f[x]][0];}
//	void rotate(int x){
//		int y=f[x],z=f[y],k=son(x),w=ch[x][!k];
//		if(nroot(y))ch[z][son(y)]=x;
//		ch[x][!k]=y,ch[y][k]=w;
//		if(w)f[w]=y;
//		f[x]=z;f[y]=x;
//		pushup(y);
//	}
//	void pushdown(int x){
//		if(r[x]){
//			if(lc)rev(lc);
//			if(rc)rev(rc);
//			r[x]=0;
//		}
//	}
//	void splay(int x){
//		int y=x,z=0;
//		st[++z]=y;
//		while(nroot(y))st[++z]=y=f[y];
//		while(z)pushdown(st[z--]);
//		while(nroot(x)){
//			y=f[x];
//			if(nroot(y))rotate(son(x)!=son(y)?x:y);
//			rotate(x);
//		}
//		pushup(x);
//	}
//	void access(int x){for(int y=x;x;x=f[y=x])splay(x),rc=y,pushup(x);}
//	void makeroot(int x){access(x),splay(x),rev(x);}
//	void split(int x,int y){makeroot(x),access(y),splay(y);}
//	void link(int x,int y){makeroot(x),f[x]=y;}
//}lct;
  1. 干饭人Ⅱ
//好饿,我要干饭!
//S真的好难,烦死了,自闭 
//不要全部0分啊救命 
//明年J组要是再不进复赛,真的会xie 
//Good luck...
//祝好(for myself if you don't need it)
  1. 口胡人(这是他代码的所有内容)
/*
一个有向图,n,m,q<=5e5 
四种操作:
	1:将一条边删除; 
	2:将连向一个点的所有边删除; 
	3:将一条边修复;
	4:将连向一个点的所有边修复。 
询问图是否由一些基环内向树组成。
<=> 图是否每个点都有一条出边。
如果没有 t=4,那么每条边的状态变化次数为 m+q。每个点用 set 维护有哪些入边,并暴力维护所有点的出度。
有 t=4 也可以均摊。需要支持 4 种操作:
	1:将一个点出度减 1; 
	2:将连向一个点的所有点出度减 1; 
	3:将一个点出度加 1;
	4:将连向一个点的所有点出度加 1。 
询问是否每个点出度为 1。 
这样就很好维护了。记录每个点 2、4 操作最后是哪个。如果是 
*/
 
  1. rp++
/*
成事在人
败事在天
逆天改命
诸位祝我rp++ 
*/

  1. 114514人
#include<bits/stdc++.h>
using namespace std;
int n,x;
int main()
{
	freopen("transmit.in","r",stdin);
	freopen("transmit.out","w",stdout);
	cin>>n>>x>>x;
	for(int i=1;i<=n;i++)
		cin>>x;
	for(int i=1;i<n;i++)
		cin>>x>>x;
	cin>>x;
	if(n==7)cout<<"12\n12\3\n";
	else
	{
		while(x--)
			cout<<rand()%114514114<<endl;
	}
	return 0;
}
/*
现在是18:21
我已经没有时间打暴力了
请老师不要骂我
因为 我把2.5个小时都放在了第三题的暴力上
但连#2都没过 
uid 347664
*/
posted @ 2022-10-30 17:38  purplevine  阅读(278)  评论(0)    收藏  举报