SGU 181.X-Sequence
时间限制:0.5s
空间限制:4M
题意:
令X0=A,
Xi=(a*Xi-1^2,b*Xi-1+c)%m;
求Xk,(0<=k<=109),(0<=a,b<=100),(1<m<1000);
Solution:
题目的关键在于m的范围,1000的范围显然是会在取余后出现循环的。
只要得出循环的数列的长度以及它的每一个数,和任意一个循环的起点位置。就可以算出Xk 值。
要注意的是X0 是不对m取余的,还有当X0很大时,计算X1 的中间量是有可能超过int范围的。
code:
#include <iostream>
#include <string>
#include <cstring>
#include <vector>
using namespace std;
const int INF = 111111;
vector<int> ans;
int f[INF];
long long x, a, b, c, m, k, t;
inline long long get (long long x) {
return (a * x * x + b * x + c) % m;
}
int main() {
cin >> x >> a >> b >> c >> m >> k;
//找到第一次循环结束的地方,即第二次循环开始的地方
for (t = 0; !f[x]; x = get (x), t++) {
f[x] = 1;
if (t == k) {
cout << x;
return 0;
}
}
k -= (t-1);//从循环起点算起的K的新位置
//得到循环数组
memset (f, 0, sizeof f);
for (t = 0; !f[x];) {
f[x] = 1;
ans.push_back (x);
x = get (x), t++;
}
//找到k在循环节里的位置并输出
k = k % t - 1;
if (k < 0) k = t - 1;
cout << ans[k];
return 0;
}
SGU 181.X-Sequence的更多相关文章
- SGU 181 X-Sequence(一题比较水的求模找规律)
E - X-Sequence Time Limit:500MS Memory Limit:4096KB 64bit IO Format:%I64d & %I64u Submit ...
- 今日 SGU 5.6
SGU 106 题意:问你有多少个<x,y>,满足ax+by+c=0,x1<=x<=x2,y1<=y<=y2 收货:拓展欧几里得求解的是这种方程,ax+by=1,g ...
- SGU 455 Sequence analysis(Cycle detection,floyd判圈算法)
题目链接:http://acm.sgu.ru/problem.php?contest=0&problem=455 Due to the slow 'mod' and 'div' operati ...
- (水题) Div 3 -- SGU -- 105
链接: http://vj.acmclub.cn/contest/view.action?cid=168#problem/E 时限:250MS 内存:4096KB 64位IO格式:%I ...
- SGU 分类
http://acm.sgu.ru/problemset.php?contest=0&volume=1 101 Domino 欧拉路 102 Coprime 枚举/数学方法 103 Traff ...
- oracle SEQUENCE 创建, 修改,删除
oracle创建序列化: CREATE SEQUENCE seq_itv_collection INCREMENT BY 1 -- 每次加几个 STA ...
- Oracle数据库自动备份SQL文本:Procedure存储过程,View视图,Function函数,Trigger触发器,Sequence序列号等
功能:备份存储过程,视图,函数触发器,Sequence序列号等准备工作:--1.创建文件夹 :'E:/OracleBackUp/ProcBack';--文本存放的路径--2.执行:create or ...
- DG gap sequence修复一例
环境:Oracle 11.2.0.4 DG 故障现象: 客户在备库告警日志中发现GAP sequence提示信息: Mon Nov 21 09:53:29 2016 Media Recovery Wa ...
- Permutation Sequence
The set [1,2,3,-,n] contains a total of n! unique permutations. By listing and labeling all of the p ...
随机推荐
- codeforces --- 115A
A. Party time limit per test 3 seconds memory limit per test 256 megabytes input standard input outp ...
- Hash(4) hashtable,hashmap
首先,我们要知道set是利使用map是实现的,因为只要利用map中的key唯一性就行了. 1.hashmap 和hashtable的区别是什么? 我们可以背出: hashtable线程安全.hash ...
- vijosP1059 积木城堡
vijosP1059 积木城堡 链接:https://vijos.org/p/1059 [思路] 01背包. 刚开始想麻烦了,想的是二分答案然后01背包判断是否可行,但是首先答案不满足单调性所以不能二 ...
- 怎么把GPUImageFIlter处理过的图像保存成UIImage
总共有两种方法能够把GPUImage处理过的图片转化成UIImage 方法一: UIImage *inputImage = [UIImage imageNamed:@"Lambeau ...
- 《A First Course in Probability》-chaper2-概率论公理
概率论自身有一套很深的理论体系,读过<几何原本>的读者会知道,伟大的欧几里得之所以伟大,是因为它基于几条最基本的公理,推导除了整个欧式几何学的理论体系,同样,在概率论这里,一切的推导都是源 ...
- 对C++进行优化了的android-ndk-r6-crystax-2
https://www.crystax.net/en/android/ndk/6?id=6 Here is customized distribution of Android NDK r6 whic ...
- Delphi中WebBrowser拦截网页Alert对话框消息(转)
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, O ...
- JAVA基于AE调用GP实现泰森多边形
调用GP实现数据处理是较快捷.较易入手的方法. 使用JAVA语言基于AE调用GP实现泰森多边形的代码例如以下: public void CreatVoronoi(){ try { GeoProcess ...
- [RxJS] Filtering operators: skipWhile and skipUntil
After takeUntil() and takeWhile() function, let's have a look on skipWhile() and skilUntil() functio ...
- Qt 学习之路 2(79):QML 组件
前面我们简单介绍了几种 QML 的基本元素.QML 可以由这些基本元素组合成一个复杂的元素,方便以后我们的重用.这种组合元素就被称为组件.组件就是一种可重用的元素.QML 提供了很多方法来创建组件.不 ...