自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Y390d的博客

ACM复习笔记

  • 博客(24)
  • 收藏
  • 关注

原创 LightOJ - 1079 Just another Robbery 【概率背包】

题目链接:https://vjudge.net/problem/LightOJ-1079需要注意的是,要想连续抢多家银行就得保证抢前面的银行没有被抓,所以样例1中抢1和2两家银行的概率是 0.02 + (1-0.02)*0.03;这里的背包dp[i] 中的i是val,价值;#include <iostream>#include <cmath>#includ...

2018-10-29 21:36:07 154

原创 HDU 6265 Master of Phi 【公式题(欧拉函数)】

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6265思路:首先要确定欧拉函数的一个特例 phi(1) = 1; 在欧拉函数的公式中 phi (n) = n*(1-q1)*(1-q2)*(1-q3)..... 只有n == 1的时候是不适用这个公式的;其次,题目中要求的公式虽然感觉很复杂,但事实上,只要对公式整理一下,就能发现题目有很多地...

2018-10-23 22:16:55 370

原创 HDU 6273 Master of GCD 【差分思想+快速幂】

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6273思路:记录乘2次数最小的值和乘3次数最小的值再用快速幂求解这个大多数人都能想到,比较棘手的就是n和m都是10^5,如果某个区间一个个的遍历去加1的话,会超时;这里用到了差分思想;比较好的博客:https://www.cnblogs.com/COLIN-LIGHTNING/p/84366...

2018-10-23 13:00:24 382

原创 LightOJ 1038 Race to 1 Again 【期望dp】

题目链接:https://vjudge.net/problem/LightOJ-1038思路:首先要知道一个期望公式:E3 = (E1+1)/3 + (E2 + 1)/3 + (E3 +1)/3 ; 这个公式中的E3要根据题意来判断是否加入;比如这题求的是一个数被除的情况是有自己除自己的,所以总的期望还要包含自己本身的期望;又如求一个人的移动期望,如果存在不移动的可能,也就意味着有一定概率...

2018-10-22 19:51:57 104

原创 ZOJ 4005 Lucky Man 【java大数开方(牛顿迭代法)】

题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4005import java.util.*;import java.math.*;import java.io.*;public class Main { public static void main(String[] args) { Scan...

2018-10-19 18:28:54 332

原创 ZOJ 4011 Happy Sequence 【dp】

题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4011思路:dp状态:dp 【数列长度】【数列最尾的那个数】那么可以得出这个递推公式 : dp【当前数列长度】【数列最尾的数】 =   (dp【当前数列长度-1】【比当前数列尾数小或者等于,而且是当前尾数的倍数】的总和),从逻辑分析来看是合理的;因为数字...

2018-10-19 13:38:47 123

原创 Codeforces Round #516 (Div. 2, by Moscow Team Olympiad) D Labyrinth 【双端队列deque+BFS】

题目链接:http://codeforces.com/contest/1064/problem/D用bfs扩展的时候有一点需要注意:如果左右两边的扩展范围受限,那么扩展的时候如果不优先处理不受限的扩展,会出现受限的优先扩展后,不但无法继续扩展,还会标记途中的点,导致不受限的扩展无法向前扩展;所以可以用deque,把最优先的放在前面,其次放在后面;//#include <ext/...

2018-10-17 23:48:52 124

原创 POJ 2686 Traveling by Stagecoach 【状压dp】

题目链接:http://poj.org/problem?id=2686思路:dp【二进制表示剩下的票】【v】; 假设票有3张,那么最初始的状态是 dp[ 111 ] [ a ] = 0;尝试在三张中拿一张,然后从a点出发到所有能到的点,由此更新状态;拿票的二进制操作时  S & ~(1 << i) , 把二进制数S中 第j个数变为0; 查看二进制数S第j个数是否...

2018-10-16 21:01:07 106

原创 POJ 2115 C Looooops 【扩展欧几里得】

题目链接:http://poj.org/problem?id=2115需要注意的有几点:第一: exgcd (a, b, x, y) ; 起初以为 y 的最小正整数解是  y = (y % a + a) % a;但事实上最小正整数解是  int tmp = a / gcd (a, b);y = (y % tmp + tmp) % tmp;第二: 如果题目要求的是x,表达式最好这样设...

2018-10-15 21:47:33 109

原创 数位dp模板

// cur : 当前位数// last: 上一位数对应的数字// status: 可以当作一个bool值// 比如题目是不要 4和7,那么只要之前的status = false,那么后面不管如何取值都是 false// limit : 如果能取0~9就为 false, 否则为 true// 巧妙的地方有两点// 1.dfs中的dp记忆条件是当前位数的取值是否受限...

2018-10-13 11:04:32 81

原创 HRBUST - 2382 极难的问题 【数位dp + 二分】

题目链接:http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=2382思路:数位dp能够求出0到m区间内的符合某个条件的数字个数,在数位dp的条件下通过二分找出符合题意的那个数字需要注意的是,题目的n虽然是int范围内的,但是n代表的是符合题意数字的个数,所有实际需要找的范围应...

2018-10-13 10:45:30 197

原创 POJ 1006 Biorhythms 【中国剩余定理】

题目链接:http://poj.org/problem?id=1006思路:中国剩余定理总结:n1, n2, n3; n % n1 = p; n % n2 = e; n % n3 = i;求最小正整数 n;a * n2*n3 % n1 = 1; 等价于 a * n2*n3 - 1 = k * n1 ---> a * n2*n3 - k*n1 = 1; 通过扩展欧几里得求出 a...

2018-10-10 23:05:33 97

原创 POJ 3101 Astronomy 【分数的最小公倍数+物理公式+java大数】

题目链接:http://poj.org/problem?id=3101思路:物理公式就不解释了 :  ;求 的最小公倍数,因为 可能为分数,所以需要求分数的最小公倍数;分数的最小公倍数 : 分子的最小公倍数 / 分母的最大公约数分数的最大公约数 : 分子的最大公约数 / 分母的最小公倍数因为题目的数据范围很大,所以用java处理会方便点;需要注意的是去重,因为速度相同的情况...

2018-10-10 18:51:51 203

原创 HDU 5128 The E-pang Palace 【暴力】

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5128题意:给出N个点,由这些点构成两个矩形,矩形是平行于x轴的,而且不能相交不能相邻(共用同一边),如果存在就输出面积和否则输出imp思路:这里要注意的是,如果长宽知道的情况下可以通过一个角落的点确定一个矩形,如果不知道长宽,一个对角线确定一个矩形;这题有个比较坑的地方就是包含的情况,...

2018-10-08 21:07:59 148

原创 POJ 1845 Sumdiv 【整数的素数分解+逆元+快速幂+约数和公式】

题目链接:http://poj.org/problem?id=1845题意:求A^B的约数和,结果取余思路:整数的素数分解:任意一个整数都能通过若干个素数相乘得到,n = p1^a1 * p2 ^a2 * p3^a3 *..... pk^ak;相应的代码模板可以自己网上找找,也可以参考下面的代码 (能将一个整数的所有pi 和 ai 求出并存入数组中)逆元:平常做的取模运算条件是 a...

2018-10-07 23:02:27 214

原创 POJ 3292 Semi-prime H-numbers 【数学素数筛法】

题目链接:http://poj.org/problem?id=3292题目:H_number 是 4n+1的数,H_prime 是以H_number为准的素数 (就是在H_number中除1和本身没有可以整除H_prime的数),问在N范围内,一共有几个H_prime数;思路:用数组A来存储H_primer数,用1来标记是,不是则用0;因为题目中的H_prime是切确的仅由两个H_...

2018-10-06 14:42:51 147

原创 UVALive 7045 - Last Defence 【辗转相除】

题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=5057思路:假设 A = 7, B = 3 ;第一行的蓝色矩形是 7 ,第二行以及后面的蓝色矩形都是 3,黄色部分是减去得到的值;可以发现的规律是...

2018-10-06 09:57:37 242

原创 POJ 2635 The Embarrassed Cryptographer 【千进制高精度取模 / JAVA】

题目链接:http://poj.org/problem?id=2635题目:如果数K能被L以内的素数不包括L整除,输出 BAD 和这个素数,否则 GOOD;思路:高精度取模能够处理大数的取模,最基本的是十进制的取模,要想不超时,可以3位为一个单位取模;如果这个大数有100位,那么3位为一个单位取模只需要 100/3次,时间上有很大优化;这里素数要用素数筛法预先打表#inclu...

2018-10-05 20:19:13 174

原创 Codeforces Round #513 by Barcelona Bootcamp (rated, Div. 1 + Div. 2) C 【暴力枚举+dp】

题目链接:http://codeforces.com/contest/1060/problem/C思路:一些暴力看起来会超时的题目还是有必要尝试一下的 ;题目的意思可以转换成:求两个数组的区间和的最大长度和,并且两个区间和的乘积小于等于x给出的数组只有2000个,求出所有区间和的时间复杂度大概是4*10^6,求两个数组的区间和就只是多一个常数; 假设一个数组的某个区间和是 n,只需...

2018-10-04 20:56:25 207

原创 HDU 5983 Pocket Cube 【模拟】

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5983题意:2*2*2的魔方只转一次,问是否能让魔方六面都相等思路:用数组记录每个面的数字,并且从1到24编号,注意这里要根据题目要求的输入顺序编号,能一次就完成任务的情况只有两种,一种是六面都已经满足条件了,第二种是存在两个对立面相等的情况,只限两个,多一个都不行;对立面相等的不用管,只需...

2018-10-03 20:48:04 119

原创 Codeforces Round #511 (Div. 2) C. Enlarge GCD 【暴力枚举+素数晒法】

题目链接:http://codeforces.com/contest/1047/problem/C题意:删去尽可能少的数,得到一个比原先的gcd大的gcd,如果没有就输出-1,有就输出删除的个数;思路:用素数晒法,去枚举大于g(最初的gcd)的数,计数数组中有几个数能被g整除,取个数的最大值;要注意的是,如果只有两个数 1 2,那么可以删除1这个数得到更大的gcd;#includ...

2018-10-03 19:53:53 154

原创 Aizu - ALDS1_5_D The Number of Inversions 【归并思路求逆序数】

题目链接:https://vjudge.net/problem/Aizu-ALDS1_5_D思路:(挑战程序设计(算法与数据结构))需要特别注意的有两点:1 在Left和Right数组中的末尾要加一个INF,保证其中一个数组为空时,另一个数组能继续把数填进A数组中;2 二分中 L和R的取值;#include <iostream>#include <cstdio&g...

2018-10-03 10:16:29 148

原创 HDU 4452 Running Rabbits 【模拟】

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4452有几个需要注意的地方:1,不用考虑在一秒内,两个兔子移动会不会相遇,如果考虑就真的难了; 2,相遇的时候,如果到了左转的时间,会优先处理相遇的情况;3,碰到墙反转方向的时候,不计时;小技巧:用编号表示方向,编号+2取余就是反转的方向编号,+3取余就是左转的方向编号,+1取余是右转的;一...

2018-10-02 10:29:43 170

原创 EOJ Monthly 2018.9 (based on Trial Round #3) D. 素数子序列 【数学:三胞胎素数】

题目链接:https://acm.ecnu.edu.cn/contest/106/problem/D/思路:(摘录)n=1: 给一个质数可以。如果要填的话,就填一个质数。 n=2: 如果 p1>2 且 p2>2,显然不行。所以肯定有一个等于 2,不妨令 p1=2(等会别忘了讨论 p2=2 的,或者 reverse 一下),只要检查 p2 和 p2+2是不是都是素数即可(孪...

2018-10-01 10:08:39 878

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除