![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Contest
FeBr2
(๑•̀ㅂ•́)و✧
展开
-
计算几何(组合计数+向量排序)——Eureka ( HDU 5738 ) ( 2016 Multi-University Training Contest 2 1005 )
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5738分析: best set 意为全部共线的一个点集,所以题目转换为给出一堆点,求出里面全部共线的点集的数量。题解:1.判断是否共线,采用记录向量的方式:struct node{ int dx, dy, num;//num为数量 node(){} node(int原创 2016-07-22 16:51:20 · 546 阅读 · 0 评论 -
数学 ( 微分方程+物理问题:狐狸追兔 )——Rower BO ( HDU 5761 )
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5761分析: 小船从(a, 0)出发,要抵达正下方的原点(0, 0)处,小船静水速度为V1且方向始终指向原点,水流速度为V2,求抵达时间t。据竞赛同学告知,这是一道高中物理竞赛中的狐狸追兔问题,然并卵,并不会 T^T解析: 列出极坐标方程: r = -v1 + v2cosα α = -v2原创 2016-07-26 20:07:51 · 3179 阅读 · 0 评论 -
贪心——Windows10 ( HDU 5802 ) ( 2016 Multi-University Training Contest 6 1010 )
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5802分析: 比赛的时候没考虑到可以用上升替代停顿的情况。。。。题解: 直接的做法是比较 往下降,然后升回来和往下降然后停顿或者上升一些后再开始下降的取值,于是可以化成一个自问题,不断递归DFS即可。 PS:需要记录停顿的次数,然后需要向上的时候就可以用停顿不上去。标程:#include转载 2016-08-04 20:19:43 · 293 阅读 · 0 评论 -
DP——Two ( HDU 5791 ) ( 2016 Multi-University Training Contest 5 1011 )
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5791分析: 给出两串数字,求求它们有多少相同的子序列。题解: 确定DP方程: DP[i][j]表示A串前i个字符和B串前j个字符之间由多少相同的子序列,dp[i][j] = (dp[i-1][j]+dp[i][j-1]-dp[i-1][j-1])%MOD;//加上前面的串的相同的子序列数原创 2016-08-02 21:28:14 · 267 阅读 · 0 评论 -
贪心——HDU 5813 ( 2016 Multi-University Training Contest 7 1005 )
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5813分析: N代表N个城市,每个城市要求只与AiA_i个城市相连接,且最后的路不能成环。若满足就输出Yes和每条路否则输出NO题解: 先把给出的要求连接城市数排序,然后遍历一遍,若AiA_i大于i-1那么不成立,再遍历一遍,每个城市只连接它前面的城市参考代码:#include <iost原创 2016-08-09 21:21:40 · 298 阅读 · 0 评论 -
数据结构 ( 优先队列&&栈 )——HDU 5818 ( 2016 Multi-University Training Contest 7 1010 )
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5818分析:对栈做三种操作: push A x 把x元素压入A中 pop B 删除B中最上面的元素并输出该元素 merge B A合并A到B中,合并后B中的元素顺序和之前压入的顺序一样(就是从头开始把之前的压入操作都只对B执行一遍)题解: 用一个数据结构存储值和序号,使用三个优先队列,按原创 2016-08-09 20:18:39 · 426 阅读 · 0 评论 -
第七场多校总结
团队之间没有一点合作,都在分开做题,结果三人都卡住了:下回坚定一块怼题的战略方针。对于数学题不要总想着化简或推导公式,首先先高清考察的数学知识,然后记住打表题特征: 数据范围非常大,然后公式相对很复杂,或者情况很复杂,无法从中得出什么能化简的东西,这种题就是打表!!!!!!!无论是手动打表还是编个程模拟打表都可以!!!!!!!!!比赛时不要死磕!!!!!!!!!!原创 2016-08-09 18:20:07 · 267 阅读 · 0 评论 -
打表 ( 教训!!! )——HDU 5810 ( 2016 Multi-University Training Contest 7 1002 )
题目链接: http://acm.hdu.edu.cn/contests/contest_show.php?cid=710分析: 这就是一道打表水题啊啊啊!!!!!!!!!!!!!!!!!!! 看完题,队友告诉我是stirling数,我拿取研究了3个小时没有化简出公式来。后来发现就是一道打表题。题解: n个不同的球放进m个不同的箱子里,然后求下面这个式子的期望 V=∑mi=1(Xi−X原创 2016-08-09 18:02:02 · 545 阅读 · 0 评论 -
贪心 ( HDU 5821 )——2016 Multi-University Training Contest 8 1001
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5821分析: 比赛的时候已经把球的最终位置按顺序标号再按球的初始位置排进数组里。。。不过区间操作采取的是把区间内标号清0,(一觉睡醒没时间了,胡乱想的。。。),当时多想一会应该能想到是区间内排序操作。。题解: 因为如果初始状态能排成最终状态,那么每一个位置是0还是1还是2都没关系,我们只需要在原创 2016-08-12 10:40:55 · 389 阅读 · 0 评论 -
矩阵快速幂——RGB plants (Gym 101061 B)
题目链接: http://codeforces.com/gym/101061/problem/B分析: 叨逼叨:(又是死在数学题上,这次一来就把式子合并去算递推公式去了,真是分分钟切腹自尽的节奏,又废了3个小时,下次看到数学题还是先从最初始的公式开始推,一个方向不行就换个方向,不要死磕一种方法!!!!) 题意: 种下1朵红花,1朵绿花,1朵蓝花; 一朵红花一晚上后变成1朵红花,2朵绿花,原创 2016-08-13 19:53:48 · 520 阅读 · 0 评论 -
CRT+容斥定理——Luck7 ( HDU 5768 ) ( 2016 Multi-University Training Contest 4 1005 )
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5768分析: 给出区间 [x,y][x, y] 和 数字n,再给出n行,每行为ai 与 pi,求出区间内 7 的倍数且模ai余数不为pi的数的个数。我们可以用CRT求出所有模ai余pi的数。题解: 利用CRT和二进制状态压缩计算不满足条件的数,然后用容斥定理计算答案参考代码:#include原创 2016-07-29 13:32:16 · 398 阅读 · 0 评论 -
最长递增子序列 ( LIS )——The All-purpose Zero ( HDU 5773 ) ( 2016 Multi-University Training Contest 4 1010 )
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5773分析: 给出N个数,其中0可以被替换成 0 ~ 9 的任何数字,问替换后这N个数的最长递增子序列的长度为多少?题解: 为了保证严格递增,我们把每一个数都减去这个数之前的0的个数,然后去掉0,做一次LIS求出长度,然后加上0的个数就是原来数列的LIS长度了。LIS模板:int DP[M原创 2016-07-28 22:09:57 · 462 阅读 · 0 评论 -
RMQ+二分——GCD ( HDU 5726 ) ( 2016 Multi-University Training Contest 1 1004 )
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5726分析: 给出一串数,然后进行区间查询,每次查询一个区间的gcd,并且要求同时输出和这个区间gcd值相等的其它区间的个数。题解: 1.RMQ快速区间查询:(此处查询的是GCD)int dp[Maxn][21];//dp[i][j]表示从 number[i]开始,长度为2^j次的区间的最值原创 2016-07-25 17:28:09 · 460 阅读 · 0 评论 -
暴力交叉匹配——La Vie en rose ( HDU 5745 )(2016 Multi-University Training Contest 2 1012)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5745分析: 给两串字符,一串目标字符,一串匹配字符,匹配字符可以前后交换,然后输出匹配位置。过的人很多,所以应该就是暴力搜索。题解: 由两种匹配方式,直接匹配,如果不行,可以和后一个位置匹配(因为匹配字符串可以前后交换,但每一个字符只能交换一次)。所以这里加一个判断直接暴力搜索AC代码:原创 2016-07-22 15:06:35 · 443 阅读 · 0 评论 -
数学——Acperience ( HDU 5734) ( 2016 Multi-University Training Contest 2 1001 )
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5734分析: 给出一个已知向量W = ( w1, w2, …, wn ),和一个不确定向量B = ( b2, b2, …, bn )(bi ∈{+1, -1}),还有一个缩放因子α≥0。求||W-αB||^2的最小值 Note: ||X|| = √x1^2+⋯+xn^2 (X= x1, x2,原创 2016-07-22 12:08:28 · 309 阅读 · 0 评论 -
最小生成树+DFS求任意两点间平均路径长度 ——Abandoned country (HDU 5732)( 2016Multi-University Training Contest 1 1001 )
题目链接: http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1001&cid=704分析: 点数最大为100000,所以最小生成树应该用Kruskal。因为任意两点的距离不相等,所以最小生成树唯一,那么期望也就是唯一的。而这个期望即任意两点距离的平均值。我们先统计出每条边在所有路径中被用到的次数,用它乘以这条边的权重,加在一原创 2016-07-20 16:27:21 · 1081 阅读 · 0 评论 -
Yet another A + B——KTU Programming Camp (Day 1) I题
题目链接: http://codeforces.com/gym/100735/problem/I分析: 给出3个数A,B,C,每个数可以用给出的这三个数替换,问是否能替换后使其满足A + B = C .由于题目给出的数据范围很大 1 ~ 10^100,所以不用多想,先敲一个高精度大数加法,单元测试过来再拿来用!题解: 大数加法敲完后,这题就完成60%了,为了精简之后的计算,所以我们还要写个原创 2016-07-15 09:17:56 · 873 阅读 · 0 评论 -
Restore——KTU Programming Camp (Day 1) E题
题目链接: http://codeforces.com/gym/100735/problem/E分析: 很水的签到题,但是一定要把思路想清楚了再做,否则(T_T) .题解: 设一开始斜对角线为0的矩阵元素之和为Sum0,补全后每一横排元素之和为S,缺失的斜对角线元素之和为X,由题意得 X = S,所以由Sum0 + S = n * S 所以S = Sum0/(n-1) , 然后设缺失时矩阵原创 2016-07-15 09:08:53 · 848 阅读 · 0 评论 -
欧拉定理——PowMod ( HDU 5728 )(2016 Multi-University Training Contest 1 1006)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5728分析: 题中有 k = ∑(m,i=1) φ(i∗n) mod 1000000007,即求和函数 sum(n, m) = ∑(m,i=1) φ(i∗n) mod 1000000007. 那么考虑将质因子p的贡献单独处理,可以得到 sum(n, m) = φ(p) × sum(n/p,原创 2016-07-22 20:01:13 · 484 阅读 · 0 评论 -
博弈论——Life Winner Bo ( HDU 5754 )
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5754分析: 给出国际象棋中四种棋子:王,后,车,马;按照国际象棋中的走法,从(1, 1)走到(N, M)点,B先走,G后走,谁赢输出谁的名字,平局输出D。题解: 直接画图分析每种棋子的必胜策略: ①王。首先注意一个3*3的棋盘,开始在(1,1),问走到(3,3)谁有必胜策略。穷举所有情况转载 2016-07-26 21:12:05 · 327 阅读 · 0 评论 -
DP+KMP——Another Meaning ( HDU 5763 ) ( 2016 Multi-University Training Contest 4 1001 )
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5763分析: 每次给出两个字符串A和B,B可以被替换成*,在A中查找B,每一个B都可以进行替换,求一共能把A替换成多少种字符串。题解: 因为A字符串的长度为100000,所以答案最多会有2的100000这么多种,直接KMP会Bomb,ShaKaLaKa,因此需要用DP来做:DP[i]表示到第i原创 2016-07-28 21:02:23 · 343 阅读 · 0 评论 -
树状数组 ( 求逆序数 )——Bubble Sort ( HDU 5775 ) ( 2016 Multi-University Training Contest 4 1012 )
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5775分析: 给出N个数,将这几个数进行题中所述的“冒泡排序”,求每个数在排序过程中(包括始末状态)所达到的坐标的最大差值。题解: ①我们可以先求出每个数在排序过程中所能达到最靠后的位置 loc ,然后 loc - min ( 起始点,终止点 ) 就是要求的最大差值。②而每个点能移动到的最靠后原创 2016-07-28 20:05:45 · 445 阅读 · 0 评论 -
高斯消元法——HDU 5833
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5833分析: 给出n个数,从中取一个数或者取多个数相乘得到完全平方数,问有多少种取法。题解: 因为每个数的大小为[0,1018][0, 10^{18}],每个数的质因子大小不超过2000,又2000以内的质数只有303个,所以我们可以先预处理一遍:把每个数质因子分解存进数组,若含有同一个质因子原创 2016-08-15 13:04:29 · 398 阅读 · 0 评论