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; }
查看全文
相关阅读:
Synchronized 锁 批量重偏向 和批量撤销
Synchronize 偏向锁,轻量级锁升级和撤销过程,对象头的变化
JAVA 对象到底有什么
什么是操作系统虚拟地址
从C角度看 i = i+ 1本质
Linux操作系统的三种锁机制
SpringCloud启动过程中如何完成Nacos服务注册
Nacos源码一
JAVA线程的本质
SpringCloud启动-Nacos服务注册
原文地址:https://www.cnblogs.com/windmissing/p/2559863.html
最新文章
标准模板库STL介绍
queue容器与priority_queue(优先队列)
Windows Message Queue(容器之queue)
BST(二叉树搜索树)
给你n个数,其中有且仅有一个数出现了奇数次,其余的数都出现了偶数次。用线性时间常数空间找出出现了奇数次的那一个数。
请问在C++中clrscr,textbackground,textmode,textcolor这些函数有什么用?如何用?它们被包含在哪个头文件中?
文件操作函数1
复制文件。输入完整已存在的文本文件名,再输入一个新文本文件的完整文件名,利用文本编辑软件查看文件内容,验证程序执行结果
在指定文件中查找指定编号的学生
利用结构体计算每个学生的4门课程的平均分,将各科成绩及平均分输出到score.txt中
热门文章
通过键盘向结构体输入数据然后存到文件中,然后从文件中读出来,在显示器上进行显示
fputc的使用
文件操作的一些函数
文件的复制贴贴
利用gulp 搭建web服务器(入门)
node搭建web服务器(简单案例)
Ajax入门?二
Ajax 入门?
gulp 压缩js文件,将其变成一行.
gulp 加css前缀
Copyright © 2011-2022 走看看