随笔分类 - ACM_思维题
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5726 给你n个数,q个询问,每个询问问你有多少对l r的gcd(a[l] , ... , a[r]) 等于的gcd(a[l'] ,..., a[r'])。 先用RMQ预处理gcd,dp[i][j] 表示
阅读全文
摘要:题目链接:http://codeforces.com/problemset/problem/697/D 给你一个有规则的二叉树,大概有1e18个点。 有两种操作:1操作是将u到v上的路径加上w,2操作是求u到v上的路径和。 我们可以看出任意一个点到1节点的边个数不会超过64(差不多就是log2(1e
阅读全文
摘要:题目链接:http://poj.org/problem?id=1064 有n条绳子,长度分别是Li。问你要是从中切出m条长度相同的绳子,问你这m条绳子每条最长是多少。 二分答案,尤其注意精度问题。我觉得关于浮点数的二分for循环比while循环更好一点。注意最后要用到floor 保证最后答案不会四舍
阅读全文
摘要:题目链接:http://codeforces.com/contest/675/problem/C 给你n个bank,1~n形成一个环,每个bank有一个值,但是保证所有值的和为0。有一个操作是每个相邻的bank之间可以转钱,让你用最少的操作使每个bank的值为0。 一开始没什么思路,看了一下别人的题
阅读全文
摘要:题目链接:http://codeforces.com/problemset/problem/675/D 给你一个如题的二叉树,让你求出每个节点的父节点是多少。 用set来存储每个数,遍历到a[i]的时候查找比a[i]大的数的位置,然后插入,而父亲就是刚好比a[i]小的数或刚好大的数。 然后讨论是哪一
阅读全文
摘要:题目链接:http://codeforces.com/contest/672/problem/D 有n个人,k个操作,每个人有a[i]个物品,每次操作把最富的人那里拿一个物品给最穷的人,问你最后贫富差距有多少。 先sort一下,最富的人很明显不会低于sum(a1 ~ an) / n , 所以二分一下
阅读全文
摘要:题目链接:http://acm.hzau.edu.cn/problem.php?id=18 题意是给你两个长度为n的数组,a数组相当于1到n的物品的数量,b数组相当于物品价值,而真正的价值表示是b[i]*k*k(k表示取的数量),给你m表示最少取m个物品。然后让你求取m个的最小的价值和。 一个物品的
阅读全文
摘要:题目链接:http://codeforces.com/contest/670/problem/E 给你n长度的括号字符,m个操作,光标初始位置是p,'D'操作表示删除当前光标所在的字符对应的括号字符以内的所有字符(比如'(()())'),'R'操作表示右移光标,'L'操作表示左移光标。删除操作后光标
阅读全文
摘要:题目链接:http://lightoj.com/volume_showproblem.php?problem=1236 题意很好懂,就是让你求lcm(i , j)的i与j的对数。 可以先预处理1e7以内的素数,然后用来筛选出能被n整除的所有的素数以及素数的个数,时间复杂度是小于根号的。然后用DFS或
阅读全文
摘要:题目链接:http://lightoj.com/volume_showproblem.php?problem=1138 题目就是给你一个数表示N!结果后面的0的个数,然后让你求出最小的N。 我们可以知道N!里5(包括5的倍数)的个数比2(包括2的倍数)的个数多,所以1对应5!,2对应10!... 而
阅读全文
摘要:题目链接:http://lightoj.com/volume_showproblem.php?problem=1214 题意很好懂,同余定理的运用,要是A数被B数整除,那么A%B等于0。而A很大,那我就把A的每一位拆开,比如A是2341,那么2341=2000+300+40+1,然后你懂的...
阅读全文
摘要:题目链接:http://lightoj.com/volume_showproblem.php?problem=1234 给你一个数n,让你求 这个要是直接算的话肯定TLE,要是用1e8的数组预处理存储答案也一定MLE。 所以我用1e6的数组存储每100个数的答案,然后每次给你n的时候顶多算99次。
阅读全文
摘要:题目链接:http://codeforces.com/contest/347/problem/C 题意是给你一个数n,然后n个数,这些数互不相同。每次可以取两个数x和y,然后可以得到|x - y|这个数,要求不在这个数组中,然后添加进去,直到不能取为止,不能取的人输了。Alice先取,求谁最后能赢。
阅读全文
摘要:题目链接:http://codeforces.com/contest/626/problem/C 题意就是给你n个分别拿着2的倍数积木的小朋友和m个分别拿着3的倍数积木的小朋友,每个小朋友拿着积木的数量互不相同,求小朋友中拿着最大积木数的最小的情况(有点绕)。 那最坏的情况就是2n或者3m,假设最大
阅读全文
摘要:题目链接:http://codeforces.com/problemset/problem/598/C 题意是给你一个数n,下面n行,每行给你横坐标x和纵坐标y(x != 0 && y != 0)。求当两个点与原点形成的角度最小时,是哪两个点。 先介绍atan2这个函数,atan2(double y
阅读全文
摘要:题目链接:http://poj.org/problem?id=2785 题意是给你4个数列.要从每个数列中各取一个数,使得四个数的sum为0,求出这样的组合的情况个数. 其中一个数列有多个相同的数字时,把他们看作不同的数字. 做法是把前两个数列和的值存在一个数组(A)中 , 后两个数列的和存在另一个
阅读全文
摘要:C. GCD Table 题目链接: http://codeforces.com/contest/583/problem/C 题意是给你n个数,可以构成n*n的GCD矩阵,矩阵里的元素顺序可以是任意的,让你求出这n个数... 首先我们能想到矩阵中最大的数就是答案,本身和本身的GCD就是本身(奇数个)
阅读全文

浙公网安备 33010602011771号