数学 赛码 1010 GCD】的更多相关文章

题目传送门 /* 数学:官方题解 首先,数组中每个元素至少是1 然后对于任意一个询问Li, Ri, Ansi, 说明Li ~ Ri中的元素必定是Ansi的倍数,那么只需将其与Ansi取最小公倍数即可 如果在计算过程中有一个值超出了可行范围,那么就无解了 在计算完成之后,注意这个解并不一定是正确的,还需要对于所有询问检查一遍 时间复杂度O(NQlogX), X为值的范围 题目不难,算是签到题,可是队友考虑复杂了,GCD (0, ..) ?! 反思:题目要读仔细,组队时做不来要让队友帮忙读题想题 *…
题目传送门 /* 题意:无向图和有向图的混合图判环: 官方题解:首先对于所有的无向边,我们使用并查集将两边的点并起来,若一条边未合并之前, 两端的点已经处于同一个集合了,那么说明必定存在可行的环(因为这两个点处于同一个并查集集合中,那么它们之间至少存在一条路径) 如果上一步没有判断出环,那么仅靠无向边是找不到环的 考虑到,处于同一个并查集集合中的点之间必定存在一条路径互达,因此将一个集合的点合并之后, 原问题等价于在新生成的有向图中是否有环 我们知道,有向无环图必定存在拓扑序,因此只需使用拓扑排…
题目传送门 /* 递推DP:官方题解 令Fi,j代表剩下i个人时,若BrotherK的位置是1,那么位置为j的人是否可能获胜 转移的时候可以枚举当前轮指定的数是什么,那么就可以计算出当前位置j的人在剩下i − 1个人时的位置 (假设BrotherK所处的位置是1),然后利用之前计算出的F值判定此人是否可能获胜 时间复杂度为O(n3) dp[i][j] 表示有i个人,j位置的人是否可能胜利.dp[1][0] = 1; cnt = sum (dp[n][i]); 有最优化子结构,i个人可以由i-1个…
题目传送门 /* 贪心:官方题解: 首先我们考虑如何选择最左边的一个区间 假设最左边的区间标号是i, 那选择的另外两个区间的左端点必定要大于Ri 若存在i之外的j, 满足Rj<Ri, 那么另外两个区间的选择余地必定不会减少 因此,为了使另外两个区间有尽可能多的选择,我们选择一个右端点最小的区间作为最左边的区间是最好的 同理,我们选择一个左端点最大的区间作为最右边的区间,也将提供最多的选择 确定了这两个区间之后,只需判断是否存在一个区间位于它们中间且不交叉即可 本题的取模值十分特殊,用unsign…
上台阶 题目描述 有一楼梯共m级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第m级,共有多少走法?注:规定从一级到一级有0种走法. 输入输入数据首先包含一个整数n(1<=n<=100),表示测试实例的个数,然后是n行数据,每行包含一个整数m,(1<=m<=40), 表示楼梯的级数.样例输入223输出对于每个测试实例,请输出不同走法的数量.样例输出12时间限制C/C++语言:2000MS其它语言:4000MS 内存限制C/C++语言:65537KB其它语言:589825KB…
军训队列 题目描述某大学开学进行军训队列训练,将学生从一开始按顺序依次编号,并排成一行横队,训练的规则如下:从头开始一至二报数,凡报到二的出列剩下的依次向前靠拢,再从头开始进行一至三报数,凡报到三的出列,剩下的依次向前靠拢,继续从头开始进行一至二报数...以后每次从头开始轮流进行一至二报数.一至三报数直到剩下的人数不超过三人为止.输入第一行为组数N,接着为N行学生人数,学生人数不超过5000.样例输入22040输出输出有N行,分别对应输入的学生人数,每行输出剩下的学生最初的编号,编号之间有一个空…
对于这项曾经热爱的竞赛,不得不说这是我最后一年参加ACM比赛了,所以要珍惜每一次比赛的机会. 五一去杭电参加了赛码"BestCoder"杯中国大学生程序设计冠军赛,去的队伍包括了今年19支World final的队伍,几乎是全国最强的46所学校各出了一个代表队,十分感谢学校给了我这个大三的老年血手这次去比赛的机会. 比赛在5.2一天内完成,上午的热身赛居然是上一场Bestcoder的原题= =.虽然我们三个人都没做过...不过我还是水水的写了前两道题. 在中午的悲惨淋雨后,下午正赛开始…
[bzoj]P2705 OR [luogu]P2303 Longge的问题 Description Longge的数学成绩非常好,并且他非常乐于挑战高难度的数学问题.现在问题来了:给定一个整数N,你需要求出∑gcd(i, N)(1<=i <=N). Input 一个整数,为N. Output 一个整数,为所求的答案. Sample Input 6 Sample Output 15 HINT [数据范围] 对于60%的数据,0<N<=2^16. 对于100%的数据,0<N<…
Describtion In mathematics, the greatest common divisor (gcd) of two or more integers, when at least one of them is not zero, is the largest positive integer that divides the numbers without a remainder. For example, the GCD of 8 and 12 is 4.-Wikiped…
A.Movie 题意是给n个线段,要求求出是否存在三个不相交的线段,是的话输出yes,否则输出no.根据贪心的想法,可以先找出右端点r'最小的线段,他是三条线段中最左的那条,再找出左端点l'最大的线段,他是三条线段中最右的那条,这样我们只需要找出是否存在一条线段可以放在中间,即区间[l,r],l>r',r<l'. 代码 #include<cstdio> int n; long long L,R,l,r,a,b,c,d,mi,mx,flag,u,v,i; int main() { i…
题目链接: http://acm.xmu.edu.cn/JudgeOnline/problem.php?id=1597 题目大意: 求(am-bm, an-bn),结果取模1000000007,a,b互质(1<=b < a<= 1018,1<=m,n<=1018) 题目思路: [数论] gcd(am-bm,an-bn) mod p=(agcd(m,n)-bgcd(m,n))mod p=(a mod p)gcd(m,n) mod(p-1)-(b mod p)gcd(m,n) m…
Luogu3455:莫比乌斯反演进行GCD计数 莫比乌斯反演就是用来解决这一类问题的,通常f函数是要求的那个,F函数是显然的 这样利用F的结果就可以推出来f的结果 在计算结果的时候整除分快儿一下就可以很快了 #include<cstdio> #include<algorithm> using std::min; ; int cnt; long long ans; bool vis[maxn]; int mu[maxn],sum[maxn]; long long prim[maxn]…
/* 矩阵乘法+快速幂. 一开始迷之题意.. 这个gcd有个规律. a b b c=a*x+b(x为常数). 然后要使b+c最小的话. 那x就等于1咯. 那么问题转化为求 a b b a+b 就是斐波那契了.... */ #include<iostream> #include<cstdio> #define MAXN 3 #define LL long long #define mod 1000000007 using namespace std; LL n; LL a[MAXN]…
题目大意: 求l~r中有多少数与x互质,带单点修改 分析: 两个30的部分分很好打: ·n<=1000暴力O(nq)就好了 ·$a_i<=100$用树状数组维护每个x的前缀和就好了 100分做法有两种,一种是莫比乌斯反演(我不会),还有一种就是bitset乱搞 我们先筛法筛出所有质数(大概不到10000个)然后对于每个质数建立一个bitset,表示对于第i个数在有第j个质数这个质因子 求有多少数与x互质转换为有多少数与x不互质就好了 对于每次询问把所有x的质因子找出来然后把这些数的bitset…
先放知识点: 莫比乌斯反演 卢卡斯定理求组合数 乘法逆元 快速幂取模 GCD of Sequence Alice is playing a game with Bob. Alice shows N integers a 1, a 2, -, a N, and M, K. She says each integers 1 ≤ a i ≤ M. And now Alice wants to ask for each d = 1 to M, how many different sequences b…
Describtion First we define: (1) lcm(a,b), the least common multiple of two integers a and b, is the smallest positive integer that is divisible by both a and b. for example, lcm(2,3)=6 and lcm(4,6)=12. (2) gcd(a,b), the greatest common divisor of tw…
参考:https://hoofoo.me/article/2017-04-11/%E8%B5%9B%E7%A0%81%E7%BD%91%E5%89%8D%E7%AB%AF%E7%AC%94%E8%AF%95%E6%9C%AC%E5%9C%B0%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA.html print方法的实现 这个没有什么难度,只是把console.log改个名字的事情,一行代码就可以解决. var print = console.log read_line方…
开源码 Java 解码器(编码解码)下载:http://sourceforge.jp/projects/qrcode/downloads/28391/qrcode.zip Java QR Code Open Source Decoder(只有编码)下载:http://www.java4less.com/qrcoded.zip J4L-QRCode 1.0 - Java component to create QR Code barcodes http://www.mayacode.com/ 在线…
Array 448.找出数组中所有消失的数 要求:整型数组取值为 1 ≤ a[i] ≤ n,n是数组大小,一些元素重复出现,找出[1,n]中没出现的数,实现时时间复杂度为O(n),并不占额外空间 思路1:(discuss)用数组下标标记未出现的数,如出现4就把a[3]的数变成负数,当查找时判断a的正负就能获取下标 tips:注意数组溢出 public List<Integer> findDisappearedNumbers(int[] nums) { List<Integer> d…
IT的学习网站: 慕课网   http://www.imooc.com 51CTO   http://www.51cto.com/ CSDN    http://www.csdn.net/ 极客       http://www.jikexueyuan.com/ 渗透测试   http://www.backlion.org/ 看雪科技  http://www.pediy.com/ 关注黑客与极客  http://www.freebuf.com/ i春秋   http://www.ichunqiu…
Integration of Polynomial Time Limit: 2000/1000MS (Java/Others) Memory Limit: 128000/64000KB (Java/Others) Submit Statistic Next Problem Problem Description Suppose there are a polynomial which has n nonzero terms, please print the integration polyno…
本文的学习内容参考:http://blog.csdn.net/yunyun1886358/article/details/5659851 http://blog.csdn.net/xudongdong99/article/details/6723163 1.使用二维数组作为形参的例子: ]) { } int main() { ][]; func(array); //用二维数组名作为实参,调用函数 } 上面的例子可以编译通过,注意,此处一定要给出第二个维度的大小,否则编译无法通过. 2.使用一维指…
Cycle Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 865    Accepted Submission(s): 241 Problem Description Ery is interested in graph theory, today he ask BrotherK a problem about it: Given…
① 牛客网输入流: var line=readline().split(' '); ② 赛码网输入流: var line=read_line().split(' '); ③ 输出流: print(); ④ 注意: 赛码网作答时不要进行DOM相关操作,读取一行输入:read_line(),输出一行:print(something):在使用read_line()函数时,请注意如果一行输入超过1024字符,需要多次调用read_line读取输入后自行拼接:在使用print函数输出时请注意,末尾自动带有…
2017web前端面试总结 从今年3月份开始面试笔试找实习找校招到现在也半年多了,拿到了不少offer,也有了自己的一点心得体会,这里写出来分享一下,拙见勿喷. 注意一下,以下的观点仅代表我个人的体会不代表任何人任何组织和任何公司. 关于流程 一般的实习&校招招聘大体有这么一个流程:(这里我个人都是走的官网投递的渠道,没有经历过宣讲会的环节,这一部分我没啥经验) 笔试 笔试作为招聘的第一个环节,一般考察的都是专业基础知识,这里会着重考察你在学校的计算机相关基础,也就是很多人会发现,我明明考的是前…
天之道,损有余而补不足,是故虚胜实,不足胜有余. 本文作者在一年之内参加过多场面试,应聘岗位均为 Java 开发方向.在不断的面试中,分类总结了 Java 开发岗位面试中的一些知识点. 主要包括以下几个部分: Java 基础知识点 Java 常见集合 高并发编程(JUC 包) JVM 内存管理 Java 8 知识点 网络协议相关 数据库相关 MVC 框架相关 大数据相关 Linux 命令相关 面试,是大家从学校走向社会的第一步. 互联网公司的校园招聘,从形式上说,面试一般分为 2-3 轮技术面试…
剑指Offer--毕业生求职网站汇总(干货) 致2017即将毕业的你~ 精品网站 牛客网:https://www.nowcoder.com 赛码网:http://www.acmcoder.com/ 招聘网站 校园招: http://www.xiaoyuanzhao.com/wangshen?i=1 校园宣讲会: http://0531.xuanjianghui.com.cn/ 中华英才网: http://campus.chinahr.com/SchoolApply/List/ 大街网: http…
剑指Offer--携程笔试题+知识点总结 情景回顾 时间:2016.9.17 19:10-21:10 地点:山东省网络环境智能计算技术重点实验室 事件:携程笔试 总体来说,携程笔试内容与其它企业笔试题类型基本一致,主要分为智能题.选择题.编程题.附加题(编程题).其实,附加题前面的题目难度还算可以,真正拉开差距的是附加题的编程题.自己当时没有通过附加题,结束后进行一小结.为后序笔试积累经验. 编程题 二分查找 package cn.edu.ujn.practice; import java.ut…
赛码网OJ规则 用readLine()代替read_line() 用readLine()代替read_line() 用readLine()代替read_line() 用readLine()代替read_line() 用readLine()代替read_line() // *项代表测试数据的时候固定不变的 var n = 0; // *输入行计数:可以自动计算出行数 var input=['1 2','3 4']; //输入两行 // *模拟输入 function read_line(){ var…
1.c++(OOGP) 与数据结构与算法 1.一定要有一门自己比较熟悉的语言. 我由于使用C++比较多,所以简历上只写了C++.C++的特性要了解,C++11要了解一些,还有STL.面试中常遇到的一些问题,手写代码实现一个string类,手写代码实现智能指针类,以及STL中的容器的实现机制,多态和继承,构造函数, 析构函数等.推荐看一下网易云课堂翁恺老师的C++的视频以及经典的几本书. 2.一定要刷题 楼主主要刷了剑指offer以及leetcode上的easy,middle的题目.如果编程能力不…