zoukankan
html css js c++ java
HDU3461 Code Lock 并查集应用
/* 这题程序不难,关键想法比较难,以下内容来自别人的空间 如果没有区间存在,答案是26^n,每增加一个区间,n-1(因为这个区间可以变成26种状态~). 但是要注意的是,比如已经有(1,10)和(1,3)在了,此时再增加(4,10)就没有作用了 使用并查集对于[l,r]我们将l,r+1两个点并起,如果新线段的两个点是同一个集合,就不用减了 */ #include <iostream> #include "UFS.h" #include <cmath> using namespace std; int mod = 1000000007; int exp(int a, int n); UFS ufs; int main() { int n,m, ans; while(cin>>n>>m) { ans = n; ufs.clear(); while(m--) { int a,b; cin>>a>>b; if(ufs.Find(a) != ufs.Find(b+1)) { ufs.Union(a, b+1); ans--; } } cout<<exp(26, ans)<<endl; } return 0; } //非递归求幂 int exp(int a, int n) { __int64 temp1 = 1, temp2 = a; while(n) { if(n & 1) temp1 =( temp1 * temp2 ) % mod; n>>=1; temp2 =( temp2 * temp2 ) % mod; } return temp1; }
查看全文
相关阅读:
Linux_修改网卡名
综合架构_ansible_剧本编写
综合架构_ansible自动化管理服务
Linux_综合架构_ssh基于密钥_远程连接
NFS项目实践
综合架构_实时同步服务 inotify
综合架构_nfs常见错误
linux_知识点集锦
企业全网备份数据
综合架构_存储服务nfs
原文地址:https://www.cnblogs.com/windmissing/p/2559863.html
最新文章
2018年总结以及2019年计划
关于老旧代码补充单元测试的接缝处理(如何通过依赖注入解决代码的依赖问题)
ICSharpCode.SharpZipLib 中文乱码问题
全表扫描和索引扫描笔记
在IE中点击转跳,并打开chorme浏览器继续浏览指定页面,IE自定义ocx控件开发
javascript如何处理多级的实时监听
如何编写具有可测试性的代码
2017年总结和2018年计划
C#学习之设计模式:工厂模式
关于使用Log4Net将日志插入oracle数据库中
热门文章
Netty章节四:实现多人聊天功能/多客户端连接并且互相通信
Netty章节三:Netty实现Socket编程
Netty章节二:Hello world/基本的http服务
Netty章节一:基本介绍
设计模式之《行为型模式》版块(基于Java)
设计模式之《结构型模式》版块(基于Java)
设计模式之《创建型模式》版块(基于Java)
设计模式概述
设计模式七大原则
PlantUML参考手册
Copyright © 2011-2022 走看看