bzoj2369
题解:
显然把每一个环求出来
然后做一个lcm即可
代码:
#include<cstdio>
using namespace std;
int a[],f[],n;
int gcd(int x,int y)
{
if (!y)return x;
return gcd(y,x%y);
}
int main()
{
scanf("%d",&n);
for (int i=;i<=n;i++)scanf("%d",&a[i]);
int ans=;
for (int i=;i<=n;i++)
if (!f[i])
{
int j=i,num=;
while (j!=i||num==)
{
f[j]=;
j=a[j];
num++;
}
ans=ans/gcd(ans,num)*num;
}
printf("%d",ans);
}
bzoj2369的更多相关文章
- BZOJ2687 交与并/BZOJ2369 区间【决策单调性优化DP】【分治】
Description 对于一个区间集合 {A1,A2--Ak}(K>1,Ai不等于Aj(i不等于J),定义其权值 S=|A1∪A2∪--AK|*|A1∩A2--∩Ak| 即它们的交区间的长度乘 ...
随机推荐
- VueScroller 使用
下载插件 npm install vue-scroller -D 引入插件: import Vue from 'vue'import VueScroller from 'vue-scroller' ...
- 0x16 Tire之最大的异或对
我们考虑所有的二元组(i,j)且i<j,那么本题的目标就是在其中找到Ai xorAj的最大值.也就是说,对于每个i(1≤i≤N),我们希望找到一个j(1<j<i),使AixorAj最 ...
- HTML DOM submit() 方法
HTML DOM submit() 方法 HTML DOM Form 对象 定义和用法 submit() 方法把表单数据提交到 Web 服务器. 语法 formObject.submit() 说明 该 ...
- oracle 增加大字段项
--不同类型增加大字段项 alter table 表名 add 新增一个字段B clob; --将需要改成大字段的项内容copy到大字段中 update 表名 set 新增一个字段B=字段A; --将 ...
- tree与GridView交互
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="OgGridView.asp ...
- flutter插件汇总
audio_recorder: any #录音.播放 flutter_sound: ^#录音 dropdown_menu: ^#下拉菜单 simple_permissions:#权限获取 easy_a ...
- <工厂方法>比<简单工厂>多了啥
前言:多注重设计.仅当复习讨论! 简单工厂模式 UML图 假如有一位爱心人士,想给饥饿的流浪动物喂食.此时爱心人士身带了狗粮,但是他到处找啊找,最终只找到了猫大人,是不是有点惨兮兮.但是如果有简单 ...
- Go 嵌入类型
文章转载地址:https://www.flysnow.org/2017/04/06/go-in-action-go-embedded-type.html 嵌入类型或嵌套类型,这是一种可以把已有类型的声 ...
- react native 项目使用 expo 二维码扫描失败
今天学习react native,需使用expo在移动端进行调试. npm start 运行项目后,使用expo扫描二维码,始终没有反应.于是决定采用这个方法: 连上手机打开usb调试后,按下‘a’, ...
- Java问题解决:使用maven install 和 package时出错
今天在idea中使用maven install 和 package时出现以下问题: [WARNING] The POM for org.apache.maven.plugins:maven-compi ...