蓝桥杯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;
}
相关推荐
sinat_286945196 分钟前
opencode
人工智能·算法·chatgpt
工口发动机22 分钟前
ABC440DEF简要题解
c++·算法
C++ 老炮儿的技术栈35 分钟前
什么是通信规约
开发语言·数据结构·c++·windows·算法·安全·链表
ljt272496066142 分钟前
Compose笔记(六十九)--Pager
笔记
零小陈上(shouhou6668889)1 小时前
K-近邻算法 - lazy learning的代表
算法·近邻算法
有一个好名字1 小时前
力扣-从字符串中移除星号
java·算法·leetcode
萧瑟其中~1 小时前
二分算法模版——基础二分查找,左边界查找与右边界查找(Leetcode的二分查找、在排序数组中查找元素的第一个位置和最后一个位置)
数据结构·算法·leetcode
码上就好ovo1 小时前
Atcoder Beginnner Contest 440
算法
koo3641 小时前
pytorch深度学习笔记13
pytorch·笔记·深度学习