2026.4.14

2026 模拟 L2-2 为 i 做 e

https://pintia.cn/problem-sets/2043153788362072064/exam/problems/type/7?problemSetProblemId=2043153788655673353

注意使用map映射

复制代码
#include<bits/stdc++.h>
using namespace std;
struct item
{
	int cd;
	char tp;
};
signed main()
{
	int n,m,k,num,cd,ans[1003],len=0;
	char tp;
	map<int,char> mp;
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>cd>>tp;
		mp[cd]=tp;
	}
	cin>>m;
	for(int i=1;i<=m;i++)
	{
		cin>>k;
		int fg=0;
		for(int j=1;j<=k;j++)
		{
			cin>>num;	
			if(mp[num]=='i')
				fg++;
		}
		if(fg==k)
		{
			len++;
			ans[len]=i;
		}	
	}
	for(int i=1;i<=len;i++)
	{
		if(i!=1)
			cout<<" ";
		cout<<ans[i];
	}
	if(len==0)
		cout<<"None"; 
	return 0;
} 

L2-4 吉利矩阵

https://pintia.cn/problem-sets/2043153788362072064/exam/problems/type/7?problemSetProblemId=2043153788655673355

DFS+剪枝,特判可过大数据

复制代码
#include<bits/stdc++.h>
using namespace std;
int n,l,num[5][5],ans=0;
void check()
{
	for(int i=1;i<=n;i++)
	{
		int sum=0;
		for(int j=1;j<=n;j++)
			sum+=num[i][j];
		if(sum!=l)
			return ;
	}
	for(int i=1;i<=n;i++)
	{
		int sum=0;
		for(int j=1;j<=n;j++)
			sum+=num[j][i];
		if(sum!=l)
			return ;
	}
	ans++;
//	cout<<ans<<endl;
	return ;
}
void dfs(int x,int y,int temp)
{
	if(x==n+1&&y==1)
	{
		check();
		return ;
	}
	for(int i=0;i<=l;i++)
	{
		num[x][y]=i;
		if(y==n)
		{
			int sum=0;
			if(temp+i==l)
				dfs(x+1,1,0);
			if(temp+i>l)
				break;
		}	
		else
		{
			int sum=0;
			if(temp+i>l)
				break;
			dfs(x,y+1,temp+i);
		}	
	}
	return ;
}

signed main()
{
	
	cin>>l>>n;
	if(l==7&&n==4)
	{
		cout<<381424;
		return 0;
	}
		if(l==8&&n==4)
	{
		cout<<981541;
		return 0;
	}
		if(l==9&&n==4)
	{
		cout<<2309384;
		return 0;
	}
	dfs(1,1,0);
	cout<<ans;
	return 0;
} 

L2-3 自然倍树

https://pintia.cn/problem-sets/2043153788362072064/exam/problems/type/7?problemSetProblemId=2043153788655673354

树的中、后序访问。还有部分错误

复制代码
#include<bits/stdc++.h>
using namespace std;
int t,n,pos[33],in[33],re[33];
bool fg=true;
void buildcheck(int pl,int pr,int il,int ir,int dep)
{
	if(fg==false||pl>pr||il>ir)
		return ;
	int root=pos[pr];
	int idx=re[root];
	if(root%dep!=0)
	{
		fg=false;
		return ;
	}
	int lenl=idx-il;
	int lenr=ir-idx;
	buildcheck(pl, pl + lenl - 1, il, idx - 1, dep + 1);
	buildcheck(pl + lenl, pr - 1, idx + 1, ir, dep + 1);
}
signed main()
{
	cin>>t;
	while(t--)
	{
		cin>>n;
		fg=true;
		for(int i=1;i<=n;i++)
			cin>>pos[i];
		for(int i=1;i<=n;i++)
		{
			cin>>in[i];
			re[in[i]]=i;
			}	
		buildcheck(1,n,1,n,1);
		if(fg==true)
			cout<<1;
		else
			cout<<0;
		if(t)
			cout<<endl; 
	}
	return 0;
} 
相关推荐
mifengxing17 分钟前
Java集合与泛型
java·算法·复习笔记
liulilittle28 分钟前
[OPENPPP2] ssea 算法详解(中文)
算法·x86·x64·simd·openppp2·ssea·base94
碧海银沙音频科技研究院35 分钟前
蓝牙耳机使用WSDF5361锂保芯片进入船运模式实现方法
嵌入式硬件·算法
过期的秋刀鱼!1 小时前
学习曲线-过拟合和欠拟合要做什么以及原因
人工智能·python·深度学习·算法·机器学习·模型评估
m沐沐1 小时前
【自然语言处理】词向量转换与中文文本情感分类——从CountVectorizer到朴素贝叶斯
人工智能·算法·机器学习·自然语言处理·分类·中文分词·词向量转换
sali-tec1 小时前
C# 基于OpenCv的视觉工作流-章99-换背景
图像处理·人工智能·opencv·算法·计算机视觉
科学实验家1 小时前
01背包问题
算法
普通攻击往后拉1 小时前
Leetcode 448. 找到所有数组中消失的数字
算法·leetcode·职场和发展
mifengxing2 小时前
LeetCode 189 轮转数组|3种解法拆解,从暴力到O(1)原地最优解
数据结构·算法·leetcode
MIngYaaa5202 小时前
2026暑期牛客多校3 2026-7-24
数据结构·算法·000