蓝桥杯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;
}
相关推荐
普通网友1 分钟前
C++编译期数据结构
开发语言·c++·算法
Gorgous—l2 分钟前
数据结构算法学习:LeetCode热题100-图论篇(岛屿数量、腐烂的橘子、课程表、实现 Trie (前缀树))
数据结构·学习·算法
im_AMBER10 分钟前
算法笔记 13 BFS | 图
笔记·学习·算法·广度优先
普通网友31 分钟前
嵌入式C++安全编码
开发语言·c++·算法
普通网友1 小时前
分布式锁服务实现
开发语言·c++·算法
普通网友1 小时前
移动语义在容器中的应用
开发语言·c++·算法
Bony-1 小时前
Articulation Point(割点)算法详解
算法·深度优先
热心市民小刘05051 小时前
11.18二叉树中序遍历(递归)
数据结构·算法
brave and determined1 小时前
可编程逻辑器件学习(day24):异构计算:突破算力瓶颈的未来之路
人工智能·嵌入式硬件·深度学习·学习·算法·fpga·asic
01100001乄夵2 小时前
FPGA零基础入门:TestBench编写完全指南
经验分享·笔记·学习方法·fpga学习之路·fpga 0基础入门