首页 > 其他分享 >2023 蓝桥杯国赛

2023 蓝桥杯国赛

时间:2024-05-30 23:23:14浏览次数:19  
标签:cnt return 杯国赛 ++ 蓝桥 int && 2023 flg

vp 了 3h。A WA(想错了,也没手玩),B 不会(应该是欧拉定理,忘了),H 40%(背不过板子)。其他过了

H \(O(n^2\log n)\) 本地 1s+,I 本地 3.4s/jk,想了下这么典的问题应该没有更优做法。相信评测机

大部分题都随手测了一下,只拍了 E(二分)I(点分治),F H(正解)I 也值得拍。今天状态不错,几乎没挂分,也没怎么调,不过确实本身就又短又好写


A 圆上的连线

枚举连线的数量 \(i\)(可能是 \(0\)),选 \(2i\) 个点的方案数 \({n\choose2i}\),\(2i\) 个点连不相交线段的方案数 \(Catlan(i)\)

\(2023\) 不是质数,\(O(n^2)\) 递推实现

B 2023次方

扩展欧拉定理算指数

G 01游戏

看题解发现忘记两行/两列不能重复了/jk

code
#include <bits/stdc++.h>
using namespace std;
#define For(i,x,y,...) for(int i=x,##__VA_ARGS__;i<=(y);++i)
#define rFor(i,x,y,...) for(int i=x,##__VA_ARGS__;i>=(y);--i)
#define Rep(i,x,y,...) for(int i=x,##__VA_ARGS__;i<(y);++i)
#define pb emplace_back
#define sz(a) int((a).size())
#define all(a) (a).begin(),(a).end()
#define fi first
#define se second
#define mkp make_pair
typedef long long LL; typedef vector<int> Vi; typedef pair<int,int> Pii;
auto ckmax=[](auto &x,auto y) { return x<y ? x=y,true : false; };
auto ckmin=[](auto &x,auto y) { return x>y ? x=y,true : false; };
mt19937 mt(chrono::steady_clock::now().time_since_epoch().count());
int rnd(int l,int r) { return uniform_int_distribution<>(l,r)(mt); }
template<typename T=int>T read() { T x; cin>>x; return x; }

const int N = 15;
int n,a[N][N];

void dfs(int x,int y) {
	if( y > n ) return dfs(x+1,1);
	if( x > n ) {
		For(i,1,n) { For(j,1,n) cout<<a[i][j]; cout<<'\n'; }
		exit(0);
	}
	auto slv=[&](int val) {
		a[x][y] = val;
		if( x > 2 && a[x-1][y] == val && a[x-2][y] == val ) return;
		if( y > 2 && a[x][y-1] == val && a[x][y-2] == val ) return;
		int cnt[4] = {0,0,0,0};
		For(i,1,n) {
			if( !a[x][i] && ++cnt[0] > n/2 ) return;
			if( a[x][i] == 1 && ++cnt[1] > n/2 ) return;
			if( !a[i][y] && ++cnt[2] > n/2 ) return;
			if( a[i][y] == 1 && ++cnt[3] > n/2 ) return;
		}
		dfs(x,y+1);
	};
	if( ~a[x][y] ) slv(a[x][y]);
	else slv(0), slv(1), a[x][y] = -1;
}

signed main() {
#ifdef FT
	freopen("g.in","r",stdin);
#endif
	ios::sync_with_stdio(0);cin.tie(0);
	cin>>n; For(i,1,n) For(j,1,n) { char x; cin>>x; a[i][j] = x=='_'?-1:x-'0'; }
	for(bool flg = 1; flg; flg = 0) {
		Rep(i,1,n) Rep(j,1,n) if( ~a[i][j] ) {
			if( a[i][j] == a[i+1][j] )
				flg |= ~a[i-1][j] || ~a[i+2][j], a[i-1][j] = a[i+2][j] = !a[i][j];
			if( a[i][j] == a[i][j+1] )
				flg |= ~a[i][j-1] || ~a[i][j+2], a[i][j-1] = a[i][j+2] = !a[i][j];
		}
	}
	dfs(1,1);
	return 0;
}

标签:cnt,return,杯国赛,++,蓝桥,int,&&,2023,flg
From: https://www.cnblogs.com/ft61/p/18221269

相关文章

  • 蓝桥杯补题
    知识点模块1.x=(y2-z2),x=(y-z)*(y+z);说明x由两个奇偶性相同的数相乘而得令y-z=a,y+z=b,消元一下得出2*y=(a+b),因为y为整数,所以a+b为偶数,所以a和b的奇偶性肯定是相同的2.一个数由两个偶数相乘而得到那么它一定是4的倍数题解模块P8635[蓝桥杯2016省AB]四平方和这题做过两次了,还......
  • 2023年中国高校计算机大赛-团队程序设计天梯赛(GPLT)上海理工大学校内选拔赛 (vp + 补题
    比赛主页:https://ac.nowcoder.com/acm/contest/52244AXorBProblem思路:如果i!=j代表(i,j)&(j,i)是两对,也就是说如果i==j代表只有一对,综上得出公式cnt[i]*cnt[i]的累加就是我要的答案Code:#include<bits/stdc++.h>usingnamespacestd;typedeflo......
  • 洛谷 P8725 [蓝桥杯 2020 省 AB3] 画中漂流 的题解
    题目大意传送门思路考虑使用时空复杂度为O(tm)O(tm)......
  • 洛谷 P8614 [蓝桥杯 2014 省 A] 波动数列 的题解
    题目大意求满足和为sss且ti=......
  • 蓝桥杯-AB路线(详细原创)
    问题描述:有一个由N×M个方格组成的迷宫,每个方格写有一个字母A或者B。小蓝站在迷宫左上角的方格,目标是走到右下角的方格。他每一步可以移动到上下左右相邻的方格去。由于特殊的原因,小蓝的路线必须先走K个A格子、再走K个B格子、再走K个A格子、再走K个B格子......
  • 关于 IDEA 2023.3.1总管理配置maven路径
    先调出主页面,再选择主页面中的maven路径配置1、调出主页面. 在设置中搜索System,选中SystemSettings模块,取消Confirm和Reopen模块的勾选     2、重新启动进入主页面点击Customise中的Allsettings,进入总设置,在此进行maven配置即可......
  • 【赛题样题】【大数据应用开发】2023年全国职业院校技能大赛高职组“大数据应用开发”
    2023年全国职业院校技能大赛赛题第03套赛项名称:        大数据应用开发        英文名称: BigDataApplicationDevelopment 赛项组别:        高等职业教育组               赛项编号:            ......
  • 【赛题样题】【大数据应用开发】2023年全国职业院校技能大赛高职组“大数据应用开发”
    2023年全国职业院校技能大赛赛题第04套赛项名称:        大数据应用开发        英文名称: BigDataApplicationDevelopment 赛项组别:        高等职业教育组               赛项编号:             ......
  • 20231325 贾罗祁 《Python程序设计》实验四报告
    20231325贾罗祁2023-2024-2《Python程序设计》实验四报告课程:《Python程序设计》班级:2313姓名:贾罗祁学号:20231325实验教师:王志强实验日期:2024年5月15日必修/选修:公选课1.实验内容Python综合应用:爬虫、数据处理、可视化、机器学习、神经网络、游戏、网络安全等。课......
  • 第14届蓝桥杯B组国赛
    子2023#include<bits/stdc++.h>usingnamespacestd;usingLL=longlong;voidsolve(){ vector<int>Q; for(inti=1;i<=2023;++i){ intx=i; vector<int>tmp; while(x){ inty=x%10; if(y==2||y==0|......