蓝桥杯day9刷题日记

P8649 [蓝桥杯 2017 省 B] k 倍区间

思路:前缀和的题,对k取余相同的数就可以得到k的倍数

cpp 复制代码
#include <iostream>
#include <string>
using namespace std;
long long ans;
int n,k;
long long q[100010];
long long sum[100010];

int main()
{
    cin>>n>>k;
    for(int i=1;i<=n;i++)
    {
    	cin>>sum[i];
    	sum[i]+=sum[i-1];
	}
	for(int i=0;i<=n;i++)
	{
		ans+=q[sum[i]%k]++;
	}
	cout<<ans;
	return 0;
}

P8654 [蓝桥杯 2017 国 C] 合根植物

思路:并查集的题目,找祖先,并集

cpp 复制代码
#include <iostream>
using namespace std;
int m,n,k;
int a,b;
int f[1000010];
int q[1000010];
int ans;

int find(int x)
{
	if(f[x]==x) return x;
	return f[x]=find(f[x]);
}

void unity(int x,int y)
{
	f[find(x)]=find(y);
}

int main()
{
	cin>>m>>n>>k;
	for(int i=1;i<=m*n;i++) f[i]=i;
	for(int i=1;i<=k;i++)
	{
		cin>>a>>b;
		unity(a,b);
	}
	for(int i=1;i<=m*n;i++)
	{
		if(!q[find(i)]) ans++,q[find(i)]++;
	}
	cout<<ans<<endl;
	return 0;
}
相关推荐
崎岖Qiu1 天前
【设计模式笔记19】:建造者模式
java·笔记·设计模式·建造者模式
锦瑟弦音1 天前
微信小游戏分包(cocos自带分包)
笔记·游戏
LYFlied1 天前
【每日算法】LeetCode 153. 寻找旋转排序数组中的最小值
数据结构·算法·leetcode·面试·职场和发展
唐装鼠1 天前
rust自动调用Deref(deepseek)
开发语言·算法·rust
找方案1 天前
我的 all-in-rag 学习笔记:文本分块 ——RAG 系统的 “信息切菜术“
人工智能·笔记·all-in-rag
HXR_plume1 天前
【Web信息处理与应用课程笔记1】网页排序(上)
笔记
qcwl661 天前
操作系统 真象还原 学习笔记#13
笔记·学习
m0_689618281 天前
30 分钟打印!多材料3D打印软机器人内置驱动 + 自主避障
笔记·学习·机器人
ytttr8731 天前
MATLAB基于LDA的人脸识别算法实现(ORL数据库)
数据库·算法·matlab
Rousson1 天前
硬件学习笔记--93 静电防护方案(电阻、磁珠、电感、TVS等)
笔记·单片机·学习