【BZOJ5213】[ZJOI2018]迷宫(神仙题)

【BZOJ5213】[ZJOI2018]迷宫(神仙题)

题面

BZOJ
洛谷

题解

首先可以很容易的得到一个\(K\)个点的答案。
构建\(K\)个点分别表示\(mod\ K\)的余数。那么点\(i\)的出边\(j\)指向\(i*m+j\ mod\ K\)。容易证明这样子一定是可行的。
但是我们显然还有一部分点是可以丢掉的,即出现点等价的时候,直接合并两个点即可。
那么什么情况下两个点等价呢?显然是两个点可以到达的点集相同的时候是可以直接把这两个点给合并的。
考虑一下\(i*m\)在模\(K\)意义下相等的数的个数,令\(d=gcd(m,K)\),那么合法的取值有\(K/d\)个。定义一个参数\(l\)表示还有\([1,l]\)这些数存在。如果\(l>k/d\),那么在范围内可以取遍所有的合法取值,那么合并这些之后,剩下的部分递归处理,这里删去了\(\frac{m}{d}(k-l)\)个合并之后到数。否则如果\(l\le k/d\),或者\(d=1\),证明必定两两不等,所以这\(l\)个数必须要。

#include<cstdio>
#include<algorithm>
using namespace std;
#define ll long long
ll m,k;int T;
ll Solve(ll l,ll k)
{ll d=__gcd(m,k);if(d==1||l<=k/d)return l;if(k<=(double)m*(k-l))return k/d;return m/d*(k-l)+Solve((k-m*(k-l))/d,k/d);
}
int main()
{scanf("%d",&T);while(T--)scanf("%lld%lld",&m,&k),printf("%lld\n",Solve(k-1,k)+1);return 0;
}

转载于:https://www.cnblogs.com/cjyyb/p/10366991.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/351451.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php 合并两个数组并去重,合并两个数组 以KEY 作为键

$a array(array(ID> 2));$b array(array(ID> 5656));print_r($r);//合并两个数组 以ID值 作为键function mergeById(&$arr1,&$arr2, $keyID){$arr array();foreach($arr1 as $v) {$arr[$v[$key]] $v;}foreach($arr2 as $v){$arr[$v[$key]] isset($arr[$v[$key…

进程的创建与可执行程序的加载

一、进程试探 编程实现一个简单的shell程序 点击(此处)折叠或打开 #include<stdio.h> #include<stdlib.h> #include<unistd.h> #include<string.h> #include<sys/types.h> #define NUM 1024 int mystrtok(char *argv[], char* string) {/…

chrome面板介绍

Chrome开发者工具详解(1)&#xff1a;Elements、Console、Sources面板 Chrome 开发者工具详解(2)&#xff1a;Network 面板 Chrome开发者工具详解(3)&#xff1a;Timeline面板 Chrome 开发者工具详解(4)&#xff1a;Profiles 面板 Chrome开发者工具详解 (5)&#xff1a;Applica…

菜鸟php ajax,AJAX ASP/PHP

AJAX ASP/PHP 实例AJAX 用于创造动态性更强的应用程序。AJAX ASP/PHP 实例下面的例子将为您演示当用户在输入框中键入字符时&#xff0c;网页如何与 web 服务器进行通信&#xff1a; 请在下面的输入框中键入字母(A - Z)&#xff1a;实例Start typing a name in the input field…

没有系列化导致错误:java.io.NotSerializableException: com.bjpowernode.bean.Team

java.io.NotSerializableException: com.bjpowernode.bean.Team Cause: java.io.NotSerializableException: com.bjpowernode.bean.Player 有一个没有实现接口的转载于:https://www.cnblogs.com/Koma-vv/p/10367855.html

CPU-bound(计算密集型) 和I/O bound(I/O密集型)

I/O bound 指的是系统的CPU效能相对硬盘/内存的效能要好很多&#xff0c;此时&#xff0c;系统运作&#xff0c;大部分的状况是 CPU 在等 I/O (硬盘/内存) 的读/写&#xff0c;此时 CPU Loading 不高。 CPU bound 指的是系统的 硬盘/内存 效能 相对 CPU 的效能 要好很多&#x…

stringutils_番石榴分配器vs StringUtils

stringutils因此&#xff0c;我最近写了一篇关于旧的&#xff0c;可靠的Apache Commons StringUtils的文章 &#xff0c;该文章引起了很多评论&#xff0c;其中之一是Google Guava提供了更好的连接和拆分字符串的机制。 我必须承认&#xff0c;这是我尚未探索的番石榴的一个角落…

workerman php访问,workerman 配置域名访问 (本地)

我确定我在我的liunx 终端 运行了 php start.php start 我为workerman在本地指定了一个域名 打开域名提示 Usage: php yourfile.php {start|stop|restart|reload|status} 请问是什么情况 清楚吗&#xff1f;配置如下server {listen 80; #监听端口&#xff0c;前面可加IPserver_…

使用Spring Integration Java DSL与Rabbit MQ集成

我最近参加了在拉斯维加斯举行的2016年Spring会议 &#xff0c;很幸运地看到了我在软件世界中长期敬佩的一些人。 我亲自遇到了其中的两个人&#xff0c;他们实际上合并了几年前我与Spring Integration相关的一些小贡献– Gary Russel和Artem Bilan &#xff0c;他们启发了我重…

深度学习工程搭建

一个完整的深度学习工程项目包含数据标注&#xff0c;数据训练&#xff0c;数据预测三部分&#xff0c;逻辑结构图和技术架构如下所示&#xff1a; 这里分别从这3个方面进行展开&#xff1a; 1.数据标注&#xff1a;包含原始数据的处理和标注&#xff0c;输出为训练预测可用的网…

多线程还是多进程的选择及区别

http://blog.csdn.net/pingd/article/details/17895933 原文&#xff1a;http://blog.csdn.net/lishenglong666/article/details/8557215 最原始的博主我没有找到&#xff0c;只能把我从何处转的此篇博文的链接发出来。感觉这篇博文写的很棒&#xff0c;特此转载了 鱼还是熊掌…

php.ini settimelimit,PHP-set_time_limit()和ini_set('max_execution_time',...)之间的区别...

两种模式“ set_time_limit(5)”和“ ini_set(max_execution_time&#xff0c;5)”都重置时间&#xff0c;这是一个实用而清晰的示例&#xff1a;//-----------------------------------------------------------//test "max_execution_time":ini_set(max_execution_…

java集合的功能_功能性Java集合

java集合的功能如今&#xff0c;在功能上大肆宣传&#xff0c;因此至少在Java集合方面&#xff0c;我会简要概述一下。 我个人喜欢标准 集合API&#xff0c;但在某些情况下可能会很尴尬并添加其他详细信息。 在Java 8的更高版本中&#xff0c;这应该不是问题。 在那里&#xf…

除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效。...

原始&#xff1a; SELECT * from ( SELECT * from test order by id desc) a 解决办法&#xff1a; SELECT * from ( SELECT Top 100 Percent * from test order by id desc) a 转载于:https://www.cnblogs.com/zhaogaojian/p/10385368.html

nodejs 本地php服务器,Nodejs搭建本地http服务器

由于不做php相关的东西&#xff0c;懒得装apache&#xff0c;干脆利用nodejs搭建一个本地的服务器用于测试。nodejs这玩意儿吧&#xff0c;对做前端的介入后端简直就是一把利器。而且目前&#xff0c;nodejs也越来越有商用价值。nodejs其实是非常底层的&#xff0c;从功能上说&…

windows下如何查看磁盘IO性能

通常&#xff0c;我们很容易观察到数据库服务器的内存和CPU压力。但是对I/O压力没有直观的判断方法。磁盘有两个重要的参数&#xff1a; Seek time、 Rotational latency。正常的I/O计数为&#xff1a;①1000/(Seek timeRotational latency)*0.75&#xff0c;在此范围内属正常。…

C++ 贪吃蛇小游戏

。。 转载于:https://www.cnblogs.com/HonkerYblogs/p/10385687.html

使用Lambda,Api Gateway和CloudFormation在AWS云上使用Java

在上一篇文章中&#xff0c;我们实现了基于Java的aws lambda函数&#xff0c;并使用CloudFront进行了部署。 由于我们已经设置了lambda函数&#xff0c;因此我们将使用AWS API Gateway将其与http端点集成。 Amazon API Gateway是一项完全托管的服务&#xff0c;使开发人员可以…

oracle 索引字典,oracle数据字典、索引、序列

*************************数据字典*******************************普通的表 是用来存放 应用程序 需要的数据的student表 是存放学生信息的category 表 是存放 商品种类信息的oracle 也是一个应用程序, oracle这个系统级应用程序本身也需要存放一些数据,这些数据存到哪张表中…

从内核文件系统看文件读写过程

阅读目录 系统调用虚拟文件系统I/O 缓冲区Page CacheAddress Space文件读写基本流程 回到顶部系统调用 操作系统的主要功能是为管理硬件资源和为应用程序开发人员提供良好的环境&#xff0c;但是计算机系统的各种硬件资源是有限的&#xff0c;因此为了保证每一个进程都能安全的…