E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Looooops
[数论]
Looooops
题目传送门:http://poj.org/problem?id=2115DescriptionACompilerMystery:WearegivenaC-languagestyleforloopoftypefor(variable=A;variable!=B;variable+=C)statement;I.e.,aloopwhichstartsbysettingvariabletovalueAan
PhantasmDragon
·
2020-08-25 02:53
数论
POJ - 2115 C
Looooops
【扩展欧几里得模板题】
ProblemDescriptionACompilerMystery:WearegivenaC-languagestyleforloopoftypefor(variable=A;variable!=B;variable+=C)statement;I.e.,aloopwhichstartsbysettingvariabletovalueAandwhilevariableisnotequaltoB,r
魔丸小哪吒
·
2020-08-24 07:56
ACM暑假集训
PKU 2115 C
Looooops
(拓展欧几里德)
原题链接:Here!题意:Description:对于循环语句:for(variable=A;variable!=B;variable+=C)statement;已知所有的数均要mod2^k(即0usingnamespacestd;typedeflonglongLL;LLexgcd(LLa,LLb,LL&x,LL&y){if(b==0){x=1;y=0;returna;}LLd=exgcd(b,a
Cloud97
·
2020-07-16 05:18
۩۩.._ACM
C
Looooops
POJ - 2115
数论好题。。香!首先我们看到这一题,题意是\[a+c*x\equivb(mod\\2^k)\]对此式移一下项,得\[c*x\equivb-a(mod\\2^k)\]此时原式为标准线性同余方程。\(exgcd\)解得\(x\)后,x要做如下处理:设\(g=gcd(b-a,2^k),k=2^k,d=b-a\)1#.\(x=x*(d/g)\),此时求得一组特解(因为\(exgcd\)解出的是\(RHS=
畫中人
·
2019-12-05 22:00
C
Looooops
POJ - 2115(扩展欧几里徳)
CLooooopsPOJ-2115ACompilerMystery:WearegivenaC-languagestyleforloopoftypefor(variable=A;variable!=B;variable+=C)statement;I.e.,aloopwhichstartsbysettingvariabletovalueAandwhilevariableisnotequaltoB,re
一只二十四节气
·
2018-07-18 09:55
数论
POJ-2115 C
Looooops
DescriptionACompilerMystery:WearegivenaC-languagestyleforloopoftypefor(variable=A;variable!=B;variable+=C) statement;I.e.,aloopwhichstartsbysettingvariabletovalueAandwhilevariableisnotequaltoB,repeat
u014258433
·
2016-04-27 23:00
数论
ACM
hdu 【2115】 C
Looooops
CLooooopsTimeLimit: 1000MS MemoryLimit: 65536KTotalSubmissions: 21796 Accepted: 5959DescriptionACompilerMystery:WearegivenaC-languagestyleforloopoftype for(variable=A;variable!=B;variable+=C) stateme
chen_ze_hua
·
2016-04-12 18:00
数论
poj 2115 C
Looooops
CLooooopsTimeLimit: 1000MS MemoryLimit: 65536KTotalSubmissions: 21717 Accepted: 5932DescriptionACompilerMystery:WearegivenaC-languagestyleforloopoftype for(variable=A;variable!=B;variable+=C) stateme
clover_hxy
·
2016-04-02 20:00
[POJ2115]C
Looooops
(扩欧)
题目描述传送门题解感觉对英文题要弃疗了。。。还有这个题目真正的原理不要管它了,反正让你求这个式子:Cx≡B−A(mod2k)中x的值。裸的扩欧。最后好像输出一个非负整数吧。代码#include #include #include usingnamespacestd; #defineLLlonglong LLA,B,C,k; LLa,b,c,x,y; LLgcd(LLa,LLb){ if(!b)
Clove_unique
·
2016-04-02 10:00
数论
poj
[poj 2115] C
Looooops
扩展欧几里得
CLooooopsTimeLimit:1000MSMemoryLimit:65536KTotalSubmissions:21706Accepted:5927DescriptionACompilerMystery:WearegivenaC-languagestyleforloopoftypefor(variable=A;variable!=B;variable+=C)statement;I.e.,a
ALPS233
·
2016-03-31 20:00
poj
C
Looooops
poj 2115 扩展欧几里得
CLooooopsTimeLimit:1000MS MemoryLimit:65536KB 64bitIOFormat:%I64d&%I64uSubmitStatusDescriptionACompilerMystery:WearegivenaC-languagestyleforloopoftypefor(variable=A;variable!=B;variable+=C) sta
wr132
·
2016-03-12 10:00
c
poj
扩展欧几里得
Looooops
2115
POJ C
Looooops
DescriptionACompilerMystery:WearegivenaC-languagestyleforloopoftype for(variable=A;variable!=B;variable+=C) statement;I.e.,aloopwhichstartsbysettingvariabletovalueAandwhilevariableisnotequaltoB,repea
u014665013
·
2016-03-11 20:00
POJ 2115-C
Looooops
-扩展欧几里德算法
CLooooopsTimeLimit: 1000MS MemoryLimit: 65536KTotalSubmissions: 21526 Accepted: 5868DescriptionACompilerMystery:WearegivenaC-languagestyleforloopoftype for(variable=A;variable!=B;variable+=C) stateme
MIKASA3
·
2016-03-09 10:00
算法
poj
扩展欧几里德算法
poj 2115 C
Looooops
(扩展欧几里得算法)
题意:对于C的for(i=A;i!=B;i+=C)循环语句,问在k位存储系统中循环几次才会结束。若在有限次内结束,则输出循环次数。否则输出死循环。参考资料:http://www.acmerblog.com/extend-gcd-5610.htmlhttp://blog.csdn.net/lyy289065406/article/details/6648546#include #include us
u014552756
·
2016-03-07 13:00
POJ-2115-C
Looooops
-扩展欧几里德算法
http://poj.org/problem?id=2115for(variable=A;variable!=B;variable+=C) 问你要执行多少次,循环才会停止,不会停止输出forever输入abck;mod=1 #include #include #include #include #include #include #include #include #include usingna
viphong
·
2016-02-26 21:00
POJ 2115 C
Looooops
扩展gcd的应用 及其 gcd exgcd的讲解
点击打开链接题意1.对于C的for(i=A;i!=B;i+=C)循环语句,问在k位存储系统中循环几次才会结束。 若在有限次内结束,则输出循环次数。 否则输出死循环。思路: 2扩展欧几里德算法源于欧几里德算法。欧几里德算法:gcd(a,b)=gcd(b,a%b)。证明:a可以表示成a=kb+r,则r=amodb 假设d是a,b的一个公约数,则有d|a,d|b,
became_a_wolf
·
2016-02-21 17:00
POJ2115 C
Looooops
(线性同余方程)
无符号k位数溢出就相当于mod2k,然后设循环x次A等于B,就可以列出方程:$$Cx+A\equivB\pmod{2^k}$$$$Cx\equivB-A\pmod{2^k}$$最后就用扩展欧几里得算法求出这个线性同余方程的最小非负整数解。1#include 2#include 3#definemod(x,y)(((x)%(y)+(y))%(y)) 4#definelllonglong 5l
WABoss
·
2016-02-03 19:00
POJ2115 C
Looooops
(线性同余方程)
无符号k位数溢出就相当于mod2k,然后设循环x次A等于B,就可以列出方程:$$Cx+A\equivB\pmod{2^k}$$$$Cx\equivB-A\pmod{2^k}$$最后就用扩展欧几里得算法求出这个线性同余方程的最小非负整数解。1#include 2#include 3#definemod(x,y)(((x)%(y)+(y))%(y)) 4#definelllonglong 5l
WABoss
·
2016-02-03 19:00
【pku2115-C
Looooops
】拓展欧几里得-不定方程
http://poj.org/problem?id=2115题解:一个变量从A开始加到B,每次加C并mod2^k,问加多少次。转化为不定方程:C*x+2^K*Y=B-A//poj2115 #include #include #include #include usingnamespacestd; typedeflonglongLL; LLbit[40]; LLtx,ty;
拦路雨偏似雪花
·
2016-02-02 20:00
【pku2115-C
Looooops
】拓展欧几里得-不定方程
http://poj.org/problem?id=2115题解:一个变量从A开始加到B,每次加C并mod2^k,问加多少次。转化为不定方程:C*x+2^K*Y=B-A//poj2115 #include #include #include #include usingnamespacestd; typedeflonglongLL; LLbit[40]; LLtx,ty;
拦路雨偏似雪花
·
2016-02-02 20:00
POJ 2115 C
Looooops
(扩展欧几里得)
CLooooopsTimeLimit:1000MS MemoryLimit:65536KTotalSubmissions:21174 Accepted:5753DescriptionACompilerMystery:WearegivenaC-languagestyleforloopoftypefor(variable=A;variable!=B;variable+=C) statement;I.
helloiamclh
·
2016-01-31 15:00
poj 2115C
Looooops
题目:http://poj.org/problem?id=2115;题意:给出A,B,C经过多少次循环能结束,不能则输出FOREVER,且本题所有数值在2^k内;分析:不难看出本题意图为求解A+c*x=b(mod2^k)(由于三个横线不好打就用等号代替),显然是求解一次同余方程的最小值,采用扩展欧几里得算法解答;代码:#include #include #include #include #inc
qq_27599517
·
2016-01-02 08:00
数学
poj
同余
poj 2115 C
Looooops
http://poj.org/problem?id=2115 作为一个数论白痴 遇到数论题我就有一种想死的冲动 经过一个上午的奋斗 最终有一个地方还是看不懂 问世间数论何物,只叫我生不如死。 #include<iostream> #include<cstring> #include<algorithm> #include<cstdio>
·
2015-11-13 12:21
oop
poj 2115 C
Looooops
http://poj.org/problem?id=2115 自己最不喜欢的就是数论题 但不能因为不喜欢就不去做了 做会了就喜欢了 通过做道题本人需要深刻的反省,做这道题浪费了我太多时间 代码中的long long 较多其中两个写成了long 我愣是没看出来结果悲剧了N久 就此反省 1.细心,不能代码一多就乱了 2.明明可以用个#defin
·
2015-11-13 11:41
oop
POJ2115-C
Looooops
转载请注明出处:優YoU http://user.qzone.qq.com/289065406/blog/1309394009 大致题意: 对于C的for(i=A ; i!=B ;i +=C)循环语句,问在k位存储系统中循环几次才会结束。 若在有限次内结束,则输出循环次数。 否则输出死循环。 解题思路: 题意
·
2015-11-13 09:55
oop
POJ 2115 C
Looooops
被虐得很惨的一道题,WA了无数次,根据题意推出 C * x + (2 ^ k) * y = B - A,用拓展欧几里德求出x的最小值。如果无解则是死循环! /*Accepted 164K 0MS C++ 882B 201
·
2015-11-13 01:10
oop
POJ 2115 C
Looooops
题目链接http://poj.org/problem?id=2115 拓展欧几里得算法+线性同余方程 题目大意是问A经过多少次能到达B, 当A的值大于 2^k时 A = A%2^k; 从题目中可以得到方程: a + c*x = b (mod 2^k) 变形得 c*x = (b-a) (mod 2^k); 再变形得: c*x – 2^k*y = (b – a) 解扩展欧几里德方程就可以了
·
2015-11-13 00:37
oop
POJ 2115, C
Looooops
Time Limit: 1000MS Memory Limit: 65536KTotal Submissions: 6358 Accepted: 1384 DescriptionA Compiler Mystery: We are given a C-language style for loop of type for (variable = A;
·
2015-11-12 19:56
oop
poj2115C
Looooops
http://poj.org/problem?id=2115 参考人家的 如下 如i=65534,当i+=3时,i=1 其实就是 i=(65534+3)%(2^16)=1 有了这些思想,设对于某组数据要循环x次结束,那么本题就很容易得到方程: x=[(B-A+2^k)%2^k] /C 即 Cx=(B-A)(mod 2^k) 此方程为 模线性方程,本题就是求X的值。 为了统
·
2015-11-12 18:04
oop
POJ-----C
Looooops
C
Looooops
Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 15282
·
2015-11-12 12:01
oop
POJ2115 - C
Looooops
(扩展欧几里得)
题目大意 求同余方程Cx≡B-A(2^k)的最小正整数解 题解 可以转化为Cx-(2^k)y=B-A,然后用扩展欧几里得解出即可。。。 代码: #include <iostream> using namespace std; typedef long long LL; void extended_gcd(LL a,LL b,LL &d,LL &x,LL &
·
2015-11-11 17:24
oop
poj 2115 C
Looooops
线性同余方程
输入 A , B, C, k 设 D = 2^k 则存在 ( x, y ) 使 A + C*x = B ( mod D ) => A + C*x = B + D*y => C*x - D*y = B - A 令 a = C, b = D, c = B-A 则转换成线性同余方程 : a * x
·
2015-11-11 17:55
oop
POJ 2115 C
Looooops
(扩展欧几里得)
题目链接 表示 完全 从学长的文档上照搬的。这才是真正的扩展的欧几里得,以下内容从文档上复制的。 扩展欧几里得的简易证明过程: 1 如果gcd(a, b) = d 那么一定存在一个整数x, y满足ax+by = d; 2 3 当b == 0时,显然,x = 1, y = 0. d = a; 4 当b != 0时, 设 5 a*x1 + b*y1 = d ;(d =
·
2015-11-11 15:51
oop
C
Looooops
(扩展欧几里得求模线性方程)
http://poj.org/problem?id=2115 题意:对于C的循环(for i = A; i != B; i+=C)问在k位存储系统内循环多少次结束; 若循环有限次能结束输出次数,否则输出 FOREVER; 解:设x为循环次数; (A+C*x)%2^k = B; 则 C*x+A = 2^k*y+B; 所以 C*x -
·
2015-11-11 12:48
oop
POJ2115 C
Looooops
POJ2115 C
Looooops
Time Limit: 1000MS Memory Limit: 65536K Total Submissions
·
2015-11-11 12:19
oop
POJ 2115 C
Looooops
(扩展欧几里得)
辗转相除法(欧几里得算法) 时间复杂度:在O(logmax(a, b))以内 int gcd(int a, int b) { if (b == 0) return a; return gcd(b, a % b); } 扩展欧几里得算法 时间复杂度和欧几里得算法相同 int extgcd(int a, int b, int& x, int& y
·
2015-11-11 11:20
oop
POJ 2115 C
Looooops
(扩展欧几里德解同余方程 Ax = B(mod C) )
题目链接: http://poj.org/problem?id=2115 题目大意:C语言循环语句,初试i赋值A,每次加C,并且模2^k,当i == B时终止,问终止循环次数,或者无法终止. 思路: 思路比较简单的一道题,解方程CX + A = B (mod 2^k)即可,变形一下:CX = B - A (mod 2^k) #include #include
·
2015-11-11 01:21
oop
POJ 2115 C
Looooops
(扩展欧几里德解同余方程 Ax = B(mod C) )
题目链接: http://poj.org/problem?id=2115 题目大意:C语言循环语句,初试i赋值A,每次加C,并且模2^k,当i == B时终止,问终止循环次数,或者无法终止. 思路: 思路比较简单的一道题,解方程CX + A = B (mod 2^k)即可,变形一下:CX = B - A (mod 2^k) #include #include
·
2015-11-11 01:21
oop
poj2115——拓展欧几里德求模线性同余方程的最小正整数解
poj2115——拓展欧几里德求模线性同余方程的最小正整数解 C
Looooops
Time Limit: 1000MS Memory Limit: 65536K
·
2015-11-11 00:04
poj
POJ 2115 C
Looooops
&nbs
·
2015-11-11 00:13
oop
POJ 2115 C
Looooops
解题思路: 求解(P*x)%M=Q,最小的非负整数x;即求解P*x + M*y = Q,令p=d1*gcd(P, M),M=d2*gcd(P, M) 所以方程变为 d1 * x + d2 * y = Q / gcd(P,M),若gcd|Q,令d3 = Q/gcd(P,M),否则,解不存在。 d1 * x + d2 * y = d3 ,且gcd(d1, d2)=1 利用扩展的欧几里得原理求解
·
2015-11-10 21:29
oop
poj 2115 C
Looooops
扩展的欧几里得算法…… 链接http://poj.org/problem?id=2115 1 #include<iostream> 2 #include<stdio.h> 3 #include<algorithm> 4 #include<vector> 5 #include<cmath> 6 #inclu
·
2015-11-07 14:38
oop
POJ 2115 C
Looooops
扩展欧几里得
C
Looooops
Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 
·
2015-11-07 13:31
oop
poj 2115 C
Looooops
这个题就是一个扩展欧几里得的运用; B≡(A+K*C)%L 即 B = A + K*C + H*L ;B - A = KC + HL ;即线性方程为 a*x + b*y = c; View Code #include<iostream> #include<cstdio> #include<cstdlib> #include<algori
·
2015-11-05 08:54
oop
pku2115 C
Looooops
扩展欧几里德
http://poj.org/problem?id=2115 通过这道题有学习了一些新的数论知识,感觉很充实。哈哈。 做这道题首先要理解:同于定理:http://baike.baidu.com/view/1490645.htm?fromTaglist 这里主要运用了(2) 同余有三种说法都是等价的,分别为: (1) a和b是模d同余的. a=b(mod d)这里的=是三道杠的。
·
2015-11-01 14:59
oop
poj1061 青蛙的约会 && poj 2115 C
Looooops
<扩展欧几里得>
id=2115 C
Looooops
首先我们先讨论欧几里得算法 ( gcd ): gcd( a, b )即求两个数的最大公约数 递归算法: int gcd(
·
2015-11-01 12:50
oop
POJ-2115 C
Looooops
扩展GCD
这题就是一个简单扩展GCD,方程为 x*C + y * 2^k = B-A. 代码如下: #include <cstdlib> #include <cstdio> #include <cstring> #include <iostream> using namespace std; typedef long long int In
·
2015-10-30 14:26
oop
poj 2115 C
Looooops
【扩展欧几里得】
CLooooopsTimeLimit: 1000MS MemoryLimit: 65536KTotalSubmissions: 20702 Accepted: 5596DescriptionACompilerMystery:WearegivenaC-languagestyleforloopoftype for(variable=A;variable!=B;variable+=C) stateme
chenzhenyu123456
·
2015-10-25 15:00
C
Looooops
(poj2115+扩展欧几里德)
C
Looooops
Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Submit Status
·
2015-10-23 08:29
oop
poj2115
Looooops
扩展欧几里德的应用
好开心又做出一道,看样子做数论一定要先看书,认认真真仔仔细细的看一下各种重要的性质 及其用途,然后第一次接触的题目 边想边看别人的怎么做的,这样做出第一道题目后,后面的题目就完全可以自己思考啦 设要+t次,列出方程 c*t-p*2^k=b-a(p是一个正整数,这里的内存相当于一个长度为2^k的圆圈,满了就重来一圈) 这样子就符合扩展欧几里德的方程基本式了
·
2015-10-21 12:11
oop
上一页
1
2
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他