考试的时候推出来了,但是忘了 $exgcd$ 咋求,成功爆蛋~ 这里给出一个求最小正整数解的模板: ll solve(ll A,ll B,ll C) { ll x,y,g,b,ans; gcd = exgcd(A,B,x,y); if(C%gcd!=0) return -1; x*=C/gcd,B/=gcd; if(B<0) B=-B; ans=x%B; if(ans<=0) ans+=B; return ans; } 大概就是这样. 说一下题: 可以将题目转化成求 $\frac{ans(an…
solved 7/11 2016 Multi-University Training Contest 10 题解链接 分类讨论 1001 Median(BH) 题意: 有长度为n排好序的序列,给两段子序列[l1,r1],[l2,r2]构成新的序列,问中间的数字. 思路: 根据不同情况分类讨论即可.时间复杂度O(1). 代码: #include <bits/stdc++.h> const int N = 1e5 + 5; int a[N]; int n, m; int l1, r1, l2, r…
CRB and Tree                                                             Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)                                                                                            To…
CRB and Apple Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 421    Accepted Submission(s): 131 Problem Description In Codeland there are many apple trees.One day CRB and his girlfriend decide…
CRB and Queries Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 533    Accepted Submission(s): 125 Problem DescriptionThere are N boys in CodeLand.Boy i has his coding skill Ai.CRB wants to k…
Welcome Party Time Limit: 4000/4000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java/Others)Total Submission(s): 875    Accepted Submission(s): 194 Problem Description The annual welcome party of the Department of Computer Science and Technolo…
2015 Multi-University Training Contest 10 5406 CRB and Apple 1.排序之后费用流 spfa用stack才能过 //#pragma GCC optimize("O3") //#pragma comment(linker, "/STACK:1024000000,1024000000") #include<bits/stdc++.h> using namespace std; function<…
正题 题目链接:https://cometoj.com/problem/1479 题目大意 给出\(n\)求一个最小的\(x(x>0)\)满足 \[\left(\sum_{i=1}^xi\right)\equiv 0(\mod n) \] \(1\leq n\leq 10^{12},1\leq T\leq 100\) 解题思路 转成等比数列求和就是 \[\frac{i(i+1)}{2}\equiv 0(\mod n)\Rightarrow i(i+1)=2kn \] 从里面获得一下信息,考虑枚举…
传送门 题意: 求最小的\(x\),满足\(\frac{x(x+1)}{2}\% n=0,n\leq 10^{12}\). 多组数据,\(T\leq 100\). 思路: 直接考虑模运算似乎涉及到二次剩余什么的,但比较复杂. 注意到比较特殊的就是,最后结果为\(0\),那么我们就考虑将问题转化为整除. 所以式子等价于\(n|\frac{x(x+1)}{2}\)即\(2n|x(x+1)\). 注意到\(n\)的范围,那么我们能\((O\sqrt{n})\)来枚举\(p,q\),满足\(pq=2n\…
###题目链接### 题目大意: 给你一个 x ,让你求出最小的正整数 n 使得 n * (n + 1) / 2  % x == 0 ,即 n * (n + 1)  % 2x == 0 . 分析: 1.由于 n * (n + 1) 为 2x 的倍数,故分离出它们各自的某个因数使得 k1 * k2 == 2x . 则令 k2 * b = n + 1 ,k1 * a = n .则有: 2.显然上述 一式 为不定方程,倘若先将 符号放到 a 里面,则系数分别为 k2 与 k1 ,有解 b 与 a 当且…
题目链接:https://cometoj.com/contest/38/problem/C?problem_id=1542&myself=0&result=0&page=1&contestID=38&problemID=C 题目大意 略 准备工作 已知原序列为 a1, a2……an. 设 b1, b2……bp 为原序列的一个子序列. 定义 Ans(b1, b2……bp) 为对应序列的完美子序列种数. 定义 Sum(b1, b2……bp) 为对应序列的所有非空子序列的…
题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=5860 题目大意:给你n个人排成一列编号,每次杀第一个人第i×k+1个人一直杀到没的杀.然后剩下的人重新编号从1-剩余的人数.按照上面的方式杀.问第几次杀的是谁. 分析 一轮过后和原来问题比只是人的编号发生变化,故可以转化为子问题求解,不妨设这n个人的编号是0~n-1,对于第i个人,如果i%k=0,那么这个人一定是第一轮出列的第i/k+1个人:如果i%k!=0,那么这个人下一轮的编号就是i…
CRB and Candies Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 453    Accepted Submission(s): 222 Problem Description   CRB has N different candies. He is going to eat K candies.He wonders how…
CRB and Puzzle Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 301    Accepted Submission(s): 127 Problem DescriptionCRB is now playing Jigsaw Puzzle.There are N kinds of pieces with infinite su…
目录 Contest Info Solutions C - Valentine's Day D - Play Games with Rounddog E - Welcome Party G - Closest Pair of Segments H - Coins I - Block Breaker K - Make Rounddog Happy Contest Info Practice Link Solved A B C D E F G H I J K 7/11 - - O Ø O - Ø O…
01: 02: 03:https://www.cnblogs.com/myx12345/p/11671692.html 04: 05:https://www.cnblogs.com/myx12345/p/11671770.html 06: 07: 08: 09:https://www.cnblogs.com/myx12345/p/11671611.html 10: 11:https://www.cnblogs.com/myx12345/p/11722259.html…
Valentine's Day Time Limit: 2000/2000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java/Others)Total Submission(s): 0    Accepted Submission(s): 0Special Judge Problem Description Oipotato loves his girlfriend very much. Since Valentine's Day i…
Block Breaker Time Limit: 2000/2000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java/Others)Total Submission(s): 0    Accepted Submission(s): 0 Problem Description Given a rectangle frame of size n×m. Initially, the frame is strewn with n×m sq…
Problem Description Given a rectangle frame of size n×m. Initially, the frame is strewn with n×m square blocks of size 1×1. Due to the friction with the frame and each other, the blocks are stable and will not drop. However, the blocks can be knocked…
HDU-4698 Counting 题意:给定一个二维平面,其中x取值为1-N,y取值为1-M,现给定K个点,问至少包括K个点中的一个的满足要求的<Xmin, Xmax, Ymin, Ymax>共有多少中取值情况.也就是说K个点中至少一个点落在所给定的区间内. 解法:正面求解,由于点只有1000个,因此直接暴力离散化之后的x轴坐标,对于y轴则可以通过增加一个一个加入点,使用一个set来维护纵轴有多少种不同的取法. #include <cstdlib> #include <cs…
官方解题报告:http://blog.sina.com.cn/s/blog_6bddecdc0102v01l.html A simple brute force problem. http://acm.hdu.edu.cn/showproblem.php?pid=4971 有n个项目,m个问题,解决某个项目会需要解决一些问题,解决项目挣钱,解决问题花钱,某些问题解决之前需解决其他问题.a之前要做b,b之前要做a,也就是会出现环,需要先缩点,参考有向图强连通分量缩点.对于缩点之后的图,参考最大权闭…
题意: 输入n,求c(n,0)到c(n,n)的所有组合数的最小公倍数. 输入: 首行输入整数t,表示共有t组测试样例. 每组测试样例包含一个正整数n(1<=n<=1e6). 输出: 输出结果(mod 1e9+7). 感觉蛮变态的,从比赛开始我就是写的这道题,比赛结束还是没写出来…… 期间找到了逆元,最小公倍数,组合数的各种公式,但是爆了一下午tle. 比赛结束,题解告诉我,公式秒杀法…… 但是公式看不懂,幸好有群巨解说,所以有些听懂了,但还是需要继续思考才能弄懂. 题解: 设ans[i]表示i…
搜了题解才把题搞明白.明白之后发现其实题意很清晰,解题思路也很清晰,只是题目表述的很不清晰…… 大意如下—— 给你一个无向图,图中任意两点的距离是两点间所有路径上的某一条边,这条边需要满足两个条件:1. 这条边这两点间某条路径上的最长边:2. 这条边是这两点间所有路径上的最长边中的最短边. 简单来说,假如a到d有两条路径,一条经过b,一条经过d,其中ab = 1, bd = 3, ac = 2, cd = 2,那么abd上的最长边为3,acd上的最长边为2,则ad的距离为2. 如果a, d两点间…
题意比较简单, dp[i][j] 表示上一次男女吃的deliciousness分别为i, j的时候的吃的最多的苹果. 那么dp[i][j] = max(dp[i][k] + 1),   0 <  k <= j dp[i][j] = max( max(dp[k][j]) + 1 ) , 0 < k <= i 对于第一个式子最大值 用树状数组线段树都可以解决, 第二个式子如果每次从0遍历到i再找最值的话,显然会超时. 仔细想想便可以发现第二个最值和第一个是一样的. 这个不好解释. 像是…
1001 CRB and Apple 1002 CRB and Candies 1003 CRB and Farm 1004 CRB and Graph 1005 CRB and His Birthday 加一维0和1表示有没有拿过这种糖. 然后完全背包滚动数组过去就可以了. 然而实际上不用加这一维.直接先0-1再完全就可以了. 因为第一个的时候收益是a+b.后面的收益是a. 如果第一个都不拿.后面自然不会拿了. # include <iostream> # include <cstdi…
Y Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 304    Accepted Submission(s): 104 Problem Description   Sample Input 4 1 2 1 3 1 4   Sample Output 1 Hint 1. The only set is {2,3,4}. 2. Ple…
Sum Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 127    Accepted Submission(s): 60 Problem Description   Sample Input 2   Sample Output 2 解题思路: 很容易看得出,这是个组合数学的插板问题,答案为2^(n-1); 由于n特别大,则(2^(…
A - Problem A.Alkane 留坑. B - Problem B. Beads 留坑. C - Problem C. Calculate 留坑. D - Problem D. Permutation 留坑. E - Problem E. TeaTree 题意:每个点会存下任意两个以他为LCA的点对的GCD,求每个点存的GCD的最大值 思路:DSU on tree  用 set 维护子树中的因子,对于重儿子不要处理多次 每次查找的时候,枚举轻儿子中的因子 还有一种线段树合并的写法 #i…
题意:给定一棵树,每个节点有个权值,Alice和Bob轮流进行操作,给定游戏起点指针指向节点C.不断进行下述操作. 1.将当前节点权值-1,然后将指针从该节点移动到相邻节点,出现一方不能移动(即指针指向的节点权值为0)即为输. 思路: 两个性质: 1.先手只会往权值严格小于当前节点的地方走.不然对手只需要把棋子位置移回来就可以耗死对方. 2.若存在权值严格小的相邻节点i且sg[i]=0,则当前节点是必胜位置. 之后的细节就很好想啦-- #include"bits/stdc++.h" #…
题意:一棵树,每个点都有自己val(1 <= val <= 1e5),而任意两个点u,v可以对lca(u,v) 产生gcd(valu,valv)的贡献,求每个点能接受到来自子树贡献的最大值. 分析:一个数w和其整数数倍的数gcd值还是w.记录每个值对应树的下标,枚举1- max{val}中的数,遍历其整数倍中两两结点的lca,检查其是否需要被更新. 其中遍历LCA的操作并不用二重循环枚举顶点,可以将顶点按dfs序排序后遍历其中相邻两点的LCA. 这里使用了RMQ的方式O(1) 查询LCA. #…