![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
acm
bigfiremelon
这个作者很懒,什么都没留下…
展开
-
Codeforces Round #388 (Div. 2)E Inversions After Shuffle
题目解法: 好大一道数学题,看了半天什么都不会观摩了别的题解才勉强写的: 公式是: 代码:#include "iostream"#include "cstdio"#include "math.h"#include "algorithm"#include "string"#include "string.h"#include "vector"#inc转载 2017-01-24 14:53:12 · 502 阅读 · 1 评论 -
2016 Multi-University Training Contest 4 1006 Substring
题目链接:点击打开链接题目大意:给你一个字符和一个字符串,问有多少个含有这个字符的不相同的子串。解题思路:主题思路后缀数组,这是我第一次做后缀数组的题目,现场学真的有点累,sa表示的后缀排序第i位的开头的位置,height表示sa[i]和sa[i-1]的公共前缀长度,n-sa-height表示不重复的数量,但是到这里为止其实和字符的关系不大,所以加上一个修正的值,下个字符到结尾的长度,这部原创 2016-07-29 09:38:18 · 405 阅读 · 0 评论 -
2016 Multi-University Training Contest 4 1010 The All-purpose Zero
题目链接:点击打开链接题目大意:找LIS其中有0的话,0可以代替任何数。解题思路:找到每个0之前的LIS,0作为前一段LIS的最后一位+1,前面的序列尽可能的小,于是加上一个剪枝操作,当前面的序列出现0~n,就可以剪掉了。代码:#include#include#include#include#include#include "cstdio"#include "strin原创 2016-07-29 09:27:34 · 366 阅读 · 0 评论 -
2016 Multi-University Training Contest 3 1011 Teacher Bo
题目链接:点击打开链接题目大意:给你一对堆,求是否存在一个四维序列(A,B,C,D)其中A解题思路:一开始很头大,各种不会怎么想都超时,二分又想不出,最后才发现m的重要性,m表示范围,也就是有2*m种哈夫曼距离,根据抽屉原理,只要超过2*m必有重复,因此剩下来的情况n最大也就1000,暴搜轻松过。代码:#include#include#include#include#inc原创 2016-07-27 09:42:33 · 310 阅读 · 0 评论 -
2016 Multi-University Training Contest 3 1003 Life Winner Bo
题目链接:点击打开链接题目大意:给你四种棋子和一个n*m的棋盘,从(1,1)走到(n,m)问输赢平解题思路:分析每一种棋子:对于国王来说,相当于是在两堆石子中取,每次只能从一堆中取一个或者两堆一起各取一个:(0,0)为必败态(1,1)就是必胜态那么到(1,1)奇数步距离的就一定也是必败态,说以(1,x)(x为奇数一定是必败态)(2,2)是必胜态因为他可以转化成(1,1)原创 2016-07-27 10:08:52 · 419 阅读 · 0 评论 -
树状数组选讲
树状数组选讲 树状数组(Binary Indexed Tree(BIT), Fenwick Tree)是一个查询和修改复杂度都为log(n)的数据结构。主要用于查询任意两位之间的所有元素之和,但是每次只能修改一个元素的值;经过简单修改可以在log(n)的复杂度下进行范围修改,但是这时只能查询其中一个元素的值。 树状数组,载体还是数组,但是它又有几分线段树的味道,数组原创 2015-11-05 21:09:14 · 270 阅读 · 0 评论 -
基础博弈
前几天看到了反nim博弈于是又从头学了下博弈,真心感觉好神奇啊,像那种组合博弈之类的,将一些奇奇怪怪的博弈问题转换成Nim博弈的想法真的好IMBA,感觉智商被碾压。这里写下一些我学习博弈的笔记和心得。 博弈问题本质是数学问题(讲道理,计算技术数学也是数学,而且和可怕),这是一类有固定规则的零和游戏(胜败方的获得数和失去数总和为0),另外博弈游戏并不都是公平的,很多胜负在游戏开始之前原创 2016-07-13 10:50:22 · 552 阅读 · 0 评论 -
2016 Multi-University Training Contest 1 1001.Abandoned country
题目地址:点击打开链接题目大意:有n个城市要修路,最后希望它们互相直接或间接联通,给了m条备选的路,问最小费用是多少还有就是路长的期望是多少。解题思路:这题其实和省赛中的挺像,本质就是最小生成树求最短路,对于后面的期望,每一条边的期望等于边两端的点的数量的积乘上边的长度,sigma求和在除以从n个点中取2个点建边的情况即可。队友的图论水平是越来越高了,直接排序的最小生成树+并#incl原创 2016-07-19 18:37:50 · 553 阅读 · 0 评论 -
2016 Multi-University Training Contest 1 1002 Chess
题目链接:点击打开链接题目大意:两个人玩一个游戏,在n*20的棋盘上有若干个棋子,规定每个棋子只能向右移,并且当右边有棋子的时候只能跳过那些棋子,同一个格子只能有一枚棋子,最后不能操作的人胜。解题思路:算是简单的SG函数求组合博弈的问题,思路早就有了,但是sg函数总是打不对,SG(x)=mex{SG(y)|y是x的后继},mex表示集合中没有出现的最小正整数,将每一组的sg值抑或就可以得到原创 2016-07-19 20:00:10 · 991 阅读 · 2 评论 -
2016 Multi-University Training Contest 1 1011 tetrahedron
题目链接:点击打开链接题目大意:求一个四面体的内切圆半径及圆心空间位置解题思路: 四面体两条相对的边处于两条互相歪斜(在三维空间中既不相交也不平行,等价于异面)的直线上,所以四面体相对边之间的距离就被定义为其所在 互相歪斜的直线之间的距离。设d是四面体相对的边a 和 b − c之间的距离,则四面体的另一个体积公式是:{\displaystyle V={\f原创 2016-07-19 20:20:15 · 462 阅读 · 0 评论 -
2016 Multi-University Training Contest 1 1004 GCD
题目链接:点击打开链接题目大意:给你一串序列,按要求输出l到r的gcd值,并且找出整条序列中所有gcd值等于l到r的gcd值得子序列数量。解题思路:一开始没想明白gcd是否满足二分性,其实算是满足的,当开始位置定了之后,随着长度增加gcd值不上升。同时这题本身需要预处理,但是其实只有logn中因数,那么枚举开始点,也就只有nlogn的复杂度,用map保存每种结果的值,st表查询区间gcd(原创 2016-07-20 10:24:52 · 1041 阅读 · 1 评论 -
2016 Multi-University Training Contest 1 1007 Rigid Frameworks
题目链接:点击打开链接题目大意:有一个n*m的网格图,加几条斜边可以使它固定。解题思路;看到这题真是一脸蒙圈啊,比赛后看了不少东西才勉强明白,对于一个网格图来说要使它固定要求是n行和m列联动。当你在(i,j)上加入一条对角线时,第i行和第j列联动;当你同时在(i,j)和(i,k)加入对角线的时候,第i行、第j列、第k列联动;那么问题就可以简化成两堆点,左边是n个点表示n行,右边原创 2016-07-20 15:30:08 · 651 阅读 · 0 评论 -
2016 Multi-University Training Contest 1 1005 Necklace
题目链接:点击打开链接题目大意:给你一2*n个珠子,n个阳珠子,n个阴珠子,另外有m中情况,当a号阳珠子和b号阴珠子在一起的时候会变暗,求变暗的最小数量。解题思路:(官方题解先放一边,估计函数什么的我真不太懂)做法就是全排列一种珠子的情况,然后尝试着尽可能的放入阳珠子,找出最多能放多少就好。重点在dfs的设计,这种设计我也是第一次看见,不得不说脑洞好大,当你找到一个位置的时候,它是合法原创 2016-07-20 17:06:53 · 391 阅读 · 0 评论 -
2016 Multi-University Training Contest 1 1006 PowMod
题目链接:点击打开链接题目大意:!!!!!!!很吓人的数学取模解题思路:这次真的不好意思挂原创啊,因为完全是按照官方题解来打的,数学差没办法。以上是官方题解给出的公式:官方题解代码:#include#include#include#include#include#include "cstdio"#include "string"#include "string转载 2016-07-20 19:31:38 · 329 阅读 · 0 评论 -
2016 Multi-University Training Contest 3 1001 Sqrt Bo
题目链接:点击打开链接题目大意:给你一个数n,问在多少次以内可以通过不断开方(向下取整)变成1解题思路:打表计算情况最大值,注意0的处理代码:#include#include#include#include#include#include "cstdio"#include "string"#include "string.h"#include "map"#incl原创 2016-07-27 09:32:09 · 267 阅读 · 0 评论 -
Codeforces Round #392 (Div. 2)A Holiday Of Equality
题目大意: 有n个人有不同的收入,问你政府要支付多少钱才能将所有人的收入调到一样。题目解放: 大水题,其实本质上就是把所有值都上升到最大值。代码: #include "iostream"#include "cstdio"#include "math.h"#include "algorithm"#include "string"#in原创 2017-01-20 15:31:40 · 227 阅读 · 0 评论 -
Codeforces Round #392 (Div. 2)B Blown Garland
题目大意: 有四种灯,最后灯的排列中同种灯之间必有其他3中灯不然就会灭掉,问最后灭掉的灯四种颜色各占多少。 重点:答案必有借,一定会给你没有灭的灯。题目解法: 很明显这题一定都是循环节,循环节由题目给出的方式给你,那就只要申明的4位的数组,每一位存循环节的颜色(最后一定四种都有),再遍历一边字符串就好了。代码:#include "io原创 2017-01-20 15:38:53 · 300 阅读 · 0 评论 -
Codeforces Round #388 (Div. 2)D Leaving Auction
题目大意: 有很多人在竞价,有n次出价,由出价人编号和出价金额组成。现在有k次询问,问每次如果这些人不竞价,那么最后会是谁获胜,竞价金额是多少。输出保证了不会有同一个人两次出价,每次出价的金额也是严格递增的。题目解法: 先用向量保存每个人的出价记录。然后将每个人最后一次的出家情况放入set,每次删除去掉的人,观察如果set为空,就输出0 0;如果只剩一个人,那就是原创 2017-01-24 14:24:31 · 21516 阅读 · 0 评论 -
Codeforces Round #388 (Div. 2)C Voting
题目大意: 辩论有两方,题目给出说话的顺序,每次一方的说话时,可以选择任意一人离开辩论,轮到离开的人时自动往后,问最后哪一方赢了。题目解法: 贪心,每次有人说的时候一定是选择另一方最先说话的人离开辩论,然后自动往后,满足双端队列的思路。代码:#include "iostream"#include "cstdio"#include "math.h"#i原创 2017-01-23 16:07:39 · 490 阅读 · 0 评论 -
Codeforces Round #388 (Div. 2)B Parallelogram is Back
题目大意: 给出平行四边形的3个点,求第4个点的所有可能性。题目解法: 3个点3条边,任意取一条作为平行四边形的边剩下一个点作为平行边的端点,就可以找出剩下一个点,为了防止重复,用map记录。代码:#include "iostream"#include "cstdio"#include "math.h"#include "algorithm"#inc原创 2017-01-23 16:01:18 · 354 阅读 · 0 评论 -
Codeforces Round #388 (Div. 2)A Bachgold Problem
题目大意: 把一个大于1的数尽可能多的分成多个质数。题目解法: 本质就是将偶数都分成2,质数分成一个3和多个2。代码:#include "iostream"#include "cstdio"#include "math.h"#include "algorithm"#include "string"#include "string.h"#include原创 2017-01-23 15:57:37 · 450 阅读 · 0 评论 -
Codeforces Round #390 (Div. 2)B Ilya and tic-tac-toe game
题目大意: 两个人走三子棋问下一步是否能赢。题目解法: 枚举所有情况就行了,反正在边上的就8种,在中间的8种。代码:#include "iostream"#include "algorithm"#include "cstdio"#include "math.h"#include "string"#include "string.h"using n原创 2017-01-22 13:42:57 · 680 阅读 · 0 评论 -
Codeforces Round #390 (Div. 2)C Vladik and chat
题目大意: 有n个人和m句话,有些话的说话人不明,要求是每个人不能连着说两句话,每句话不能提到自己,看看能不能将这些话的说话人都找出来,答案可能不固定。解题思路: 根据题目意思将问题简化,建立dp[i][j]意思为第 j 句话可能是 i 说的,首先明确说话人的话,将已知的说话人作为唯一的可能对象,其他的话只要不是提到的人都作为可能对象。接下来其实就是dfs找一条原创 2017-01-22 15:53:02 · 838 阅读 · 0 评论 -
Codeforces Round #390 (Div. 2)E Dasha and cyclic table
题目大意: 给出两个距阵ab,规定如果a[i][j]对于所有b[x][y]都满足a[(I+x)%n][(j+y)%m]=b[x][y]或者b[x][y]=?,就认为这个点是积极的。要求输出a矩阵的积极情况。题目解法: 其实看懂了题目还是蛮简单的,一开始我们将所有答案设为1,然后将每种字母的存在情况也用矩阵表示,最后将每种可能都尝试一些(其实就是&一下)就可以得到结果了原创 2017-01-22 16:34:27 · 837 阅读 · 0 评论 -
Codeforces Round #390 (Div. 2)D Fedor and coupons
题目大意: 给你n个区间,求k个区间的最大并区间长度。题目解法: 贪心,不断想优先队列中保存内容,保证每次队列顶端的右值最大,不断修正左区间。最后按照最优的左端点和右端点,寻找答案就行。代码:#include "iostream"#include "cstdio"#include "math.h"#include "algorithm"#inclu原创 2017-01-22 13:53:09 · 364 阅读 · 0 评论 -
Codeforces Round #390 (Div. 2)A Lesha and array splitting
题目大意: 本质就是分组,不能使每组的和等于0,问要怎么分。题目解法: 其实就是把每个0和之后的非0数结合就好。代码:#include "iostream"#include "algorithm"#include "cstdio"#include "math.h"#include "string"#include "string.h"using原创 2017-01-22 13:38:17 · 334 阅读 · 0 评论 -
Codeforces Round #392 (Div. 2)E. Broken Tree
题目大意: 对于一棵树有n个点,n-1条边,每条边有4个值x,y,w,p,x是离根进的点,y是另一个点,p和w都是特征值,又定义了broken tree的要求是一条边的p小于它所连子树的所有边的w,要求把给定的树装换成w和最大的非broken树(转换过程中只能减不能加,而且树的的w必定为正整数)题目解法: 先分析误解问题,如果一棵树本身有存有边的p小于子树w和的话原创 2017-01-20 19:16:32 · 751 阅读 · 0 评论 -
Codeforces Round #392 (Div. 2)F Geometrical Progression
题目大意: 找出所有长度为n,每一项都在l到r之间的等比数列的个数(q!=1)解题思路: 其实除了几种特殊情况外,基本都是枚举分子分母互质的分数,考虑到只有两项的时候数量较大,所以单独判断代码:#include "iostream"#include "cstdio"#include "math.h"#include "algorithm"#incl原创 2017-01-20 16:56:49 · 655 阅读 · 0 评论 -
Codeforces Round #392 (Div. 2)D Ability To Convert
题目大意: 问一个n进制的数k,转换成10机制之后最小是多少,比较奇葩的是这个数有可能是两位表示一位的本来13进制的12应该是C,但是按题目的意思就是表示成12,这样就可以认为是12或者15了,这题的关键也就在这里。题目解法: 先确定大概思路,我们要尽可能减小第一位的级数,那就是每次找最长的小于的n结尾作为一位,最后求结果,好在题目保证了最后的答案是long lo原创 2017-01-20 15:53:55 · 403 阅读 · 0 评论 -
Codeforces Round #392 (Div. 2)C Unfair Poll
题目大意: 一个班有n行m列座位,老师要点k个学生,老师点名的顺序是从第1行。。。。第n-1行,第n行,第n-1行。。。。。第2行,这样重复,同一行中一定是从左到右的顺序点名,问最后被点到次数最多的人被点了几次,被点到次数最少的人被点了几次,还有坐在x行y列的人被点了几次。题目解法: 本质上就是找规律题,除了n=1和n=2的情况要分开考虑,剩下的都可以一起考虑。然后就原创 2017-01-20 15:47:09 · 323 阅读 · 0 评论 -
2016 Multi-University Training Contest 2 1001 Acperience
题目连接:点击打开链接题目大意:给定一个n维点w,和一个只含有1和-1的n维点b,求 ∥W−αB∥2 其中,∥X∥=x21+⋯+x2n−−−−−−−−−−√ 解题思路:其实对于αB本质上是一条射线,要求的答案其实也就是n维平面内点到直线的距离。这题如果不求分数答案其使用二分做也可以(以二维平面距离其实是一个一元二次方程,求顶点就好),由于答案的格式我们倾向于用分式直接表示答案,任何原创 2016-07-22 09:24:08 · 334 阅读 · 0 评论 -
2016 Multi-University Training Contest 2 1009 It's All In The Mind
题目链接:点击打开链接题目大意:给你一个n位的不上升数组,这个数组现在只有m位数字是可以确定的,问前两位除以总和的最小值。解题思路:贪心,让前两位尽可能的大,后面尽可能的小,注意不上升的约束条件就好了,本质上还是一道水题。代码:#include#include#include#include#include#include "cstdio"#include "strin原创 2016-07-22 10:08:36 · 365 阅读 · 0 评论 -
Codeforces Round #327 (Div. 2)E. Three States
E. Three Statestime limit per test5 secondsmemory limit per test512 megabytesinputstandard inputoutputstandard outputThe famous global economic crisis is approa原创 2015-10-27 02:04:23 · 1019 阅读 · 0 评论 -
Codeforces Round #327 (Div. 2)A. Wizards' Duel
A. Wizards' Dueltime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputHarry Potter and He-Who-Must-Not-Be-Named原创 2015-10-27 00:35:54 · 334 阅读 · 0 评论 -
Codeforces Round #327 (Div. 2)B. Rebranding
B. Rebrandingtime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputThe name of one small but proud corporation c原创 2015-10-27 00:41:26 · 363 阅读 · 0 评论 -
The 2015 China Collegiate Programming Contest A - Secrete Master Plan
Secrete Master PlanTime Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others)Total Submission(s): 138 Accepted Submission(s): 101Problem DescriptionMaster M原创 2015-11-07 21:50:04 · 405 阅读 · 0 评论 -
Codeforces Round #328 (Div. 2)A. PawnChess
A. PawnChesstime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputGalois is one of the strongest chess players of原创 2015-11-06 23:54:00 · 272 阅读 · 0 评论 -
Codeforces Round #329 (Div. 2)A. 2Char
A. 2Chartime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputAndrew often reads articles in his favorite magazi原创 2015-11-07 00:09:22 · 276 阅读 · 0 评论 -
Codeforces Round #328 (Div. 2)C. The Big Race
C. The Big Racetime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputVector Willman and Array Bolt are the two mo原创 2015-11-07 00:02:05 · 269 阅读 · 0 评论 -
Codeforces Round #328 (Div. 2)B. The Monster and the Squirrel
B. The Monster and the Squirreltime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputAri the monster always wakes原创 2015-11-06 23:58:13 · 288 阅读 · 0 评论