自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 hdu6438 Buy and Resell 买卖物品 ccpc网络赛 贪心

题目传送门题目描述:有n座城市,每座城市都可以对一个物品进行一次的买进或者卖出,可以同时拥有多个物品,计算利润最大值,并且交易次数要最少。(买入卖出算两次操作)思路:建立两个小根堆 优先队列,q1放可以买的物品,q2放可以卖的物品。如果两个队列都是空的,则把这个物品放入q1.如果q1是有的,而q2是空的,则把a[i]和q1的顶比一下,如果比他大,则q1 pop一次,把a[i...

2018-08-25 23:29:46 157

原创 hdu6441 Find Integer 求勾股数 费马大定理

题目传送门题目大意:给出a和n,求满足的b和c。思路:数论题目,没什么好说的。根据费马大定理,当n>2时不存在正整数解。当n=0或者1时特判一下就可以了,也就是此时变成了一个求勾股数的问题。勾股数的规律1. 直角三角形短直角边为奇数,另一条直角边与斜边是两个连续自然数,则两边之和是短直角边的平方。a=2*n+1,b=2*n*(n+1),c=2*n*(n+1...

2018-08-25 22:11:28 244

原创 hdu6446 Tree and Permutation 2018ccpc网络赛 思维+dfs

题目传送门题目描述:给出一颗树,每条边都有权值,然后列出一个n的全排列,对于所有的全排列,比如1 2 3 4这样一个排列,要算出1到2的树上距离加2到3的树上距离加3到4的树上距离,这个和就是一个排列的val,计算所有全排列的val和就可以了。思路:对于一个n的全排列,会发现 任意x-y的边在这个全排列中出现的次数是一样的,(x-y和y到x是不一样的边)。也就是说我只需要计算出这个次数,然...

2018-08-25 21:50:45 288

原创 2018年 CCPC 网络赛 赛后总结

      历程:由于只是网络赛,所以今天就三开了。一开始的看题我看了d题,zz和jsw从头尾看起来,发现c题似乎可做,和费马大定理有关,于是和zz一起马上找如何计算勾股数的方法,比较慢的A掉了,而jsw此时看了最后的两道题,并且也与此同时把倒数第二题做掉了,但是此时hdu评测机炸了,判题队列排到几十页之后,所以不知道是否ac,然后就开始想最后一道题目,我和zz想了一下以为是一道类似dp或者图论题...

2018-08-25 21:17:52 1521 3

原创 hdu3483 A Very Simple Problem 非线性递推方程2 矩阵快速幂

题目传送门题目描述:给出n,x,mod。求s[n].s[n]=s[n-1]+(x^n)*(n^x)%mod;  思路:这道题是hdu5950的进阶版。大家可以看这篇博客hdu5950题解。由于n很大,所以肯定是矩阵快速幂的题目,但是矩阵快速幂只能解决线性的问题,n^4在这个式子中是非线性的,后一项和前一项没有什么直接关系,这里要做一个转换,把n^4变成一个线性的,也就是和(n-1)...

2018-08-25 09:52:55 290

原创 HDU5952 Counting Cliques计算完全图的个数 巧妙构图+dfs

题目传送门      题目大意:给出n个点,m条无向边,让你计算这幅母图中有几个大小为s的完全图。       完全图的意思是任意一个点都和其他点直接相连,完全图的大小指的就是完全图点的个数。      思路:比较巧妙的构图方式。我们会很自然地想到用dfs来找环,然后记录路径,判断是否成完全图,但是由于题目给的是双向边,如果直接构图的话,就会导致出现很多没有必要的情况,重复计算,爆栈超...

2018-08-24 20:40:36 401

原创 HDU5950 Recursive sequence 非线性递推式 矩阵快速幂

题目传送门题目描述:给出一个数列的第一项和第二项,计算第n项。递推式是 f(n)=f(n-1)+2*f(n-2)+n^4.由于n很大,所以肯定是矩阵快速幂的题目,但是矩阵快速幂只能解决线性的问题,n^4在这个式子中是非线性的,后一项和前一项没有什么直接关系,所以模拟赛的时候想破头也不会做。这里要做一个转换,把n^4变成一个线性的,也就是和(n-1)^4有关系的东西,而这个办法就是:...

2018-08-24 19:47:40 331

原创 hdu6397 Character Encoding 隔板法+容斥原理+线性逆元方程

题目传送门题意:给出n,m,k,用m个0到n-1的数字凑出k,问方案数,mod一个值。题目思路:首先如果去掉数字范围的限制,那么就是隔板法,先复习一下隔板法。①k个相同的小球放入m个不同的盒子,每个盒子不为空的种类数:k-1个空隙中插入m-1个板子,C(k-1, m-1)②k个相同的小球放入m个不同的盒子,可以允许有的盒子为空种类数:我们再加上m个球,按照①式不为空求解,因为分...

2018-08-22 21:57:12 201

原创 8.11zju集训日记

      今天的比赛打得很不好,前一个小时的看的题目都非常难,没有做出题目,中期看到两道题,一道题是我读题,金大佬solo的,另外一道题是金大佬读题,写了代码但wa了,然后我和zz找bug,最后发现答案的范围是2^64,会爆long long,于是以为要大数,然后用py写了,但其实用ull就可以过了,以前没有经验。然后就开始了挂机模式,读了很多题,但是都没有思考的方向,金大佬读到一道题目,认为要...

2018-08-11 18:47:57 190

原创 注意点罗列

1、long long的范围是+-的2^63-1,不是64,而unsigned long long可以到达这个范围。2、题目答案看似很多,时间复杂度太高时,想想鸽笼原理,可能很少。3、线性逆元方程 能在o(n)的时间内算出1-n所有数字的逆元。处理阶乘的逆元const int MOD = (int)1e9 + 7;//按题目要求的取余数const int N = 1000000...

2018-08-11 18:38:13 144

原创 8.10zju集训日记

    今天的题目比昨天的简单,一开始自己看了一道题意比较难懂的题目,然后看到榜上有人做出的两道不同的题目,然后马上改变目标,金大佬看的题目是一道比较裸的高斯消元,基本上只要模板正确就可以对,于是很快就开始打了,但我们用的kuangbin的模板打印出来居然没有负号!!模板错了!!于是这道题一直困扰我们直到比赛最后一个小时,也严重拖延了做其他题目的时间,罚时暴增。我看到的是一道水题,读懂了题意然后就...

2018-08-10 22:26:30 120

原创 8.9zju集训日记

       和新队员的第一次比赛,前期开题方向基本正确,签到的速度比较快,中期读了旋转卡壳,矩阵和km的三道题目,都有一定的想法,但三个人意见不同没有往一个方向想,但其实旋转卡壳和km的题目思路几乎都对了,但是旋转卡壳少一点点思路,km又缺少比较优秀的模板,一个题目给了n=1000,O(n^3)的复杂度,虽然时间给了七秒,但还是以为过不了,事实上赛后补题,发现自己的做法只跑了七百多毫秒。  ...

2018-08-10 08:57:58 140

原创 codeforces-473D Mahmoud and Ehab and another array construction task (素数筛法+贪心)

题目传送门题目大意:先提供一个数组,让你造一个数组,这个数组的要求是 1 各元素之间都互质  2  字典序大于等于原数组  3 每一个元素都大于2思路:1.两个数互质的意思就是没有公因子。所以每确定一个数字之后,就把这个数字的所有公因子全部用vis数组标记一下。2.每一次找数字都是从a[i]开始找,如果a[i]符合条件则下一个,如果不符合条件就a[i]+1,暴力枚举(贪心),如果有一个地方是大于原...

2018-07-05 19:41:43 207

原创 poj1964最大子矩阵 (单调栈加枚举)

题目传送门题目大意:一个矩阵中,求F组成的矩阵的面积,(答案乘以三)。思路:n如果是小于100的,就可以通过前缀和,然后三重循环暴力找,和poj1050很像,但由于是1000,就不可以了,时间复杂度太高。这道题的类别是单调栈,仔细想一下,发现其实就是先统计每一行网上有多少个长方形,然后再枚举每一行,算出最大的maxx,相当于poj2559的加强版。代码有很多细节要注意,最大的坑是,输入的图,两个符...

2018-06-07 15:06:03 343

原创 poj3111 选取物品(二分+贪心)

题目传送门题意就是,n个物品,从中选取k个,要按照那个公式所取的值最大。思路:最大化平均值的时候首先想到的就是二分, 我们设G(x) 为单位的重量不小于X, 我们的目标就是要找到满足条件的最大的X, 也就是说我们的OK函数就要判断是否能够找到一个大小为K的集合S, 使得单位重量的价值大于等于X, 我们将当时变形转化为vi - x*wi >= 0  对于 所有的i 属于集合S, 这时我们对于一...

2018-05-29 15:26:35 346

原创 codeforces-777E Hanoi Factory (栈+贪心)

题目传送门题目大意:现在一共有N个零件,如果存在:bi>=bj&&bj>ai的两个零件i,j,那么此时我们就可以将零件j放在零件i上。我们现在要组成一个大零件,使得高度最高,问这个最高高度。思路:看了题解,先将木块按b从大到小排序,相同的再按a从大到小排序。(这样排序后满足两点性质,第一,如果第i块不能放在已经放好的木台上,说明此时的b小于木台最上面的a,而这个序列后续...

2018-05-26 11:10:46 162

原创 poj3040 发工资(贪心)

题目传送门题目大意:给一个人发工资,给出不同数量不同面额,(大面额一定是小面额的倍数),问最多能发几天,(每天实发工资>=应发工资)。思路:首先,将大于等于c的面额的钱直接每个星期给奶牛一张,将面额大于等于c的前去除。然后从大到小开始选择,要选择的金额尽可能的接近c,如果刚好能够凑足c就作为当前的一种方案,如果不能凑足c那就再从小的开始选,要选出一种的总额不少于c但尽量接近c作为当前的方案,...

2018-05-26 00:18:11 352

原创 poj2083 分形(图形的递归)

题目传送门代码有注释。#include<iostream>#include<algorithm>#include<cstdlib>#include<sstream>#include<cstring>#include<bitset>#include<cstdio>#include<stri

2018-05-24 21:27:41 609

原创 hdu3038判断区间谎言(带权并查集)

题目传送门题目描述:给你n,m,n代表从1到n这么大的数组,m组v,u,val,代表v到u这个区间的总和是val,然后让你判断m组关系中有几组是错误的。思路:带权并查集,这道题其实算是让我知道什么是真正的带权并查集吧,之前有一道食物链的题目非常经典但是一直没完全理解,其实带权并查集就是除了表达自己和父节点这个true的关系(fa[x])==y,意思就是,x->y true),还表达了自己和父...

2018-05-24 10:48:01 210

原创 codeforces-984D——XOR-pyramid(DP)

题目传送门题目描述:给你一个f函数,这个函数的自变量是一个数列,函数表达式就是题目所给的描述,然后给你一个数列,问你数列中某区间  怎么选取 可以使函数值最大。题目思路:  有关区间选取的问题,很容易想到dp,dp[l][r]代表从l到r的区间函数值,然后发现一个神奇的事情,就是:dp[l][r]=dp[l][r-1]^dp[l+1][r],这是为什么呢,请允许我用拙劣的画技画一幅通俗易懂的图。怎...

2018-05-17 19:39:04 195

原创 CodeForces - 984C——Finite or not?分数整除问题(数论,gcd)

题目传送门题目描述:给你一个p/q,让你求在b进制下,这个小数是不是有限小数。思路:先来膜拜一个大神的博客,如何求小数的二进制表达,(感谢博主肘子zhouzi)。然后小数的其他进制表达也一样。而分数的转化,比如1/6转化成3进制,看图 ↓ 。其实就是将1/6不断乘以3,然后丢掉整数部分,如果我们不看丢掉整数部分这个环节,就是把1/6不断乘以3看看最后能不能整除就好了,如果有限的话,肯定会得到((b...

2018-05-17 19:19:50 208

原创 poj2513连接木棍(字典树+欧拉回路+并查集)

题目传送门题目大意:给你一堆木棍,每根木管都有两种颜色,相同颜色的部分可以连接起来,问你这堆木棍可不可以连接成1根。思路:大致的思路很好想,就是判断欧拉回路的方法(1.联通,2,要么顶点读书全为偶数,要么有两个奇数),统计每种颜色出现的次数就可以了。问题的关键是怎么统计,大家第一反应肯定是并查集统计联通路,用map统计次数,但这道题的数据量是25w*2,map会超时,然后想到了字典树。我是用数组写...

2018-05-13 22:49:52 216

原创 poj2002 数正方形 (哈希+几何)

题目传送门题目大意:给你一堆点,问你能组成几个正方形。思路:一开始想的是用对角线的长度来当哈希的key,但判断正方形会太复杂,然后就去找了一下正方形的判断方法,发现已知: (x1,y1) (x2,y2) 则: x3=x1+(y1-y2) y3= y1-(x1-x2) x4=x2+(y1-y2) y4= y2-(x1-x2) 或 x3=x1-(y1-y2) y3= y1+(x1-x2) x...

2018-05-10 16:33:19 387

原创 poj1840 五项式等于0(哈希)

题目传送门题意很好懂,注意一下xi不能等于0思路:智商检测题,一开始想着五重for暴力。。。Orz,后来移向(把a4a5移到右边)了发现减了1e8数量级的复杂度,再次Orz,所以直接三重循环,记录每一次答案,存到哈希表中(多次出现的要++,而且哈希值可能是负的,所以要加上一个比较大的数字),然后再两重循环,ans+=hash【e】就可以了。然而!这样子开的数组会很大,直接int hash[maxn...

2018-05-09 22:08:23 105

原创 poj3274 找平衡数列(哈希加一点数学思维)

题目传送门题目大意:有n只牛,每只牛有k个属性,接下来n个数字,每个数字的二进制位上的1和0分别表示某种属性的有或者无,然后一个特殊数列就是,一个区间内所有牛的各种属性的总和相等(有e种1属性  e种2属性and so on),问你这排牛的最长的特殊数列长度是多少。思路:看上去像dp,但思路走不通,然后看网上大佬的思路,仿佛推开新世界的大门。数组sum[i][j]表示从的1到i头cow属性j的和。...

2018-05-09 19:45:13 294

原创 uva11361 特殊数的数量(数位dp)

题目传送门题目大意:给你一个n-m的区间,问你这个闭区间内的特殊数有几个,特殊数的要求是 数的本身 和 各位数字之和  mod k 等于0.思路:刚接触数位dp,看了网上的题解,说用dp[i][j][s]表示,总共有i位,数字本身mod k为j,各位数之和mod k为s的数量,然后状态转移方程是dp[i][(j+x)%k][(s*10+x)%k]+=dp[i][j][s],第一次看这方程感觉好有道...

2018-05-09 16:40:19 175

原创 poj3349找相同的雪花(哈希)

题目传送门题目大意:给你n个雪花,每个雪花的六个棱都有各自的长度,如果存在两片雪花的每条棱长度对应相同,则输出一句英文,如果不存在就输出另外一句英文,n和长度都比较大。思路:第一次真正接触哈希,查了题解,还没能通过这道题get到哈希的精髓。这道题是把雪花的六个长度加起来取模的值作为哈希值,然后把拥有相同哈希值的雪花归为一类,每一次输入新的雪花,就先找到它的那一类,然后这一类中进行遍历,遍历的方式也...

2018-05-09 12:24:16 726

原创 poj2823滑动窗口(单调队列)

题目传送门题意:给你一个长度为n的数列,然后用一个长度为k的窗口去框(k<n)每次保存k这个窗口中的最大值和最小值,输出。思路:这道题最朴素的on2的做法铁定超时,然后我想过一个nlogn的方法,网上有人说可以过,但我t了,当时队里的学长讲了单调队列这个知识点,现在才补了题。思路其实很简单,代码有注释,草稿纸准备好,直接看吧。#include<iostream>#include...

2018-05-08 19:47:08 159

原创 hdu3567 八数码2(康托展开+多次bfs+预处理)

Eight IITime Limit: 4000/2000 MS (Java/Others)    Memory Limit: 130000/65536 K (Java/Others)Total Submission(s): 4103    Accepted Submission(s): 878Problem DescriptionEight-puzzle, which is also calle...

2018-05-08 15:27:06 277

原创 hdu1430 魔板(康拓展开 bfs预处理)

魔板Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 4050    Accepted Submission(s): 951Problem Description在魔方风靡全球之后不久,Rubik先生发明了它的简化版——魔板。魔板由8个同样...

2018-05-07 23:20:03 230

原创 网络流EdmondsKarp算法模板理解

先推荐一个讲网络流的博客,我的网络流知识均吸收于此   传送门EdmondsKarp算法基本思想:从起点到终点进行bfs,只要存在路,说明存在增广路径,则取这部分路 权值最小的一部分,即为增广路径(也就是这一部分路的最大流量)。然后将这条路上的正向权值都减去min,反向权值都加上min(即,m[i][j]-min,m[j][i]+min,为什么等会再解释)。然后重复此操作,最终就得到了最大流。先上...

2018-05-05 21:47:59 246

原创 poj3020 建信号塔(匈牙利算法 最小覆盖边集)

Antenna PlacementTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 10518 Accepted: 5189DescriptionThe Global Aerial Research Centre has been allotted the task of building the fifth generation ...

2018-05-05 00:02:28 234

原创 POJ3041轰炸行星(匈牙利算法 最小覆盖点集)

AsteroidsTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 25232 Accepted: 13625DescriptionBessie wants to navigate her spaceship through a dangerous asteroid field in the shape of an N x N gr...

2018-05-04 16:45:24 142

原创 poj1094 拓扑排序(出度入度简单使用)

Sorting It All OutTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 37764 Accepted: 13327DescriptionAn ascending sorted sequence of distinct values is one in which some form of a less-than ope...

2018-05-03 19:53:46 689

原创 poj1125传播谣言(弗洛伊德,求最长路)

Stockbroker GrapevineTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 38541 Accepted: 21502DescriptionStockbrokers are known to overreact to rumours. You have been contracted to develop a met...

2018-05-02 11:43:38 240

原创 poj2253青蛙(可到达路径的单次跳跃最短距离)

FroggerTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 55388 Accepted: 17455DescriptionFreddy Frog is sitting on a stone in the middle of a lake. Suddenly he notices Fiona Frog who is sittin...

2018-05-02 10:00:58 347

原创 poj1860 兑换货币(bellman ford判断正环)

传送门:点击打开链接题目大意:一个城市有n种货币,m个货币交换点,你有v的钱,每个交换点只能交换两种货币,(A换B或者B换A),每一次交换都有独特的汇率和手续费,问你存不存在一种换法使原来的钱更多。思路:一开始以为一个地方只能用一次,感觉好像有点难,后来发现自己读错题了,其实只要判断给你的这幅图存不存在正环就可以了,用dis【】表示某种货币的数量,然后bellman判断正环就可以了。(题目里强调结...

2018-05-01 15:15:29 95

原创 poj1062 昂贵的礼物(dijkstra+枚举)

传送门:点击打开链接题目大意:买东西,每个东西有了替代品,拥有替代品后可以有优惠价格,每个物品的主人有自己的等级,等级超过m的不能直接或者间接交易,问买1号物品的最低价格是多少。思路:一开始想到dfs,但等级不超过m的比较麻烦,看了别人的做法后发现把这题转化为最短路实在是太巧妙了(我太弱了),一开始的起点是0,表示什么都没有,每个物品的价格就是从0到i的权值,然后优惠价格就是u和i的权值,就这样转...

2018-04-29 23:25:02 107

原创 hdu4081 秦始皇修路(次小生成树)

题目ID:hdu4081   秦始皇修路题目链接:点击打开链接题目大意:给你若干个坐标,每个坐标表示一个城市,每个城市有若干个人,现在要修路,即建一个生成树,然后有一个魔法师可以免费造路(不消耗人力),然后秦始皇希望这条免费的路A/B最大,A是这条路连接的两个城市人口和,B是出了这条路以外所有路的总长度。让你输出这个A/B。思路:这道题数据量不大,可以两重for算出点和点之间的距离,建图。A/B这...

2018-04-24 23:29:02 166

原创 梦想,永不停息!

      和ACM的缘分真的是很微妙,一年前我还是梦想成为律师的文艺青年,高考意外考砸,最后意外的来到了计算机专业。      也许是我天性使然,学什么都非常有兴趣,所以初识C语言便仿佛打开了新世界的大门,碰巧几个室友都是学过一些编程的人,好强的我在寝室里的编程能力是最弱的,于是我便开始如饥似渴的学习,每天疯狂拉大佬室友们问这个问那个,然后把自己学校的oj刷完了两百题,当时真的成就感满满。   ...

2018-04-23 23:14:03 217 1

空空如也

空空如也

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

TA关注的人

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