蓝桥杯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;
}
相关推荐
一个不知名程序员www22 分钟前
算法学习入门---前缀和(C++)
c++·算法
jackzhuoa35 分钟前
Rust API 设计的零成本抽象原则:从语言基石到工程实践
算法·rust
yuuki23323343 分钟前
【数据结构】双向链表的实现
c语言·数据结构·后端
朝新_1 小时前
【SpringBoot】玩转 Spring Boot 日志:级别划分、持久化、格式配置及 Lombok 简化使用
java·spring boot·笔记·后端·spring·javaee
charlie1145141911 小时前
CSS学习笔记3:颜色、字体与文本属性基础
css·笔记·学习·教程·基础
我不是彭于晏丶1 小时前
238. 除自身以外数组的乘积
数据结构·算法
兮山与1 小时前
算法25.0
算法
爱编程的鱼1 小时前
想学编程作为今后的工作技能,学哪种语言适用性更强?
开发语言·算法·c#·bug
代码雕刻家1 小时前
1.6.课设实验-数据结构-栈、队列-银行叫号系统2.0
c语言·数据结构
yq14682860902 小时前
C (统计二进制中“1“的个数)
c语言·开发语言·算法