- 博客(30)
- 收藏
- 关注

原创 应该要开始补题了!!
今天已经是多校结束的第一天 然鹅我并没有补很多的题= = 最近一直在牛客,hdu,cf上辗转,一些网络赛也一直有在关注,但是比归比了,很少补题,反思觉得这样好像不行,但是又怕自己是三分钟的热度,所以我萌生了一个大胆的想法!! 那就是: 谨以此博,告诫自己,补题补题!! 我列了一个清单,记录如下: hdu: contest1:1001,1003,1004,1011 contest2:...
2018-08-23 14:52:03
185

原创 wa虽虐我千百遍,我待ac如初恋
集训马上就要结束了,刚刚在想着两个月来到底学到了些什么,好像也没学到什么hhh。还是只能做做水题,思维也不够敏感,算法什么的也还是没学会,数学什么的极度退化,感觉可能高中那个时候的自己来做这种题目可能想法会多一点,脑子会转得快一点hhh,现在一点公式或者,一段代码,要想好久,可能都不知道是怎么来的,还是自己太菜了啊。 感觉自己的读题能力真的太弱了,英语不好是个硬伤,自己的理解能力弱也是一方面,可...
2018-08-21 20:55:22
377
原创 Leetcode剑指 Offer 65. 不用加减乘除做加法
题目链接:剑指 Offer 65. 不用加减乘除做加法 这位大佬的题解很详细:转载题解
2021-01-23 16:36:24
164
原创 匈牙利算法模板
#include<stdio.h> #include<iostream> #include<string> #include<string.h> #include<map> using namespace std; const int N = 510; bool line[N][N],used[N]; int link[N]; ...
2019-07-18 14:24:47
360
原创 字典树模板
#include<stdio.h> #include<string.h> #include<iostream> #include<string> #include<set> #include<algorithm> using namespace std; const int N = 26, M = 1000000; int ...
2019-07-18 14:23:14
187
原创 矩阵快速幂模板
#include<iostream> #include<string> #include<string.h> using namespace std; const int N = 66; struct Matrix { int a[N][N]; }; Matrix Mul(Matrix ans, Matrix res, int n, int mod) ...
2019-07-18 14:20:09
133
原创 最短路模板
#include<iostream> #include<map> #include<queue> #include<string.h> #include<vector> #include<string> #include<algorithm> #include <cstring> using nam...
2019-07-18 14:13:17
123
原创 网络流(最大流)模板
#include<iostream> #include<map> #include<queue> #include<vector> #include<string> #include<algorithm> #include<cmath> #include <cstring> typedef long ...
2019-07-18 14:08:11
121
原创 2018CCPC吉林赛区(重现赛)- 感谢北华大学
** 2018CCPC吉林赛区(重现赛)- 感谢北华大学 ** A.The Fool 题意: 给数n,求∑i=1N[ni]\sum_{i=1}^N\left[\frac{n}{i}\right]∑i=1N[in](其中[x]表示的是,小于等于x的最大整数)是奇数还是偶数,奇数输出“odd”,偶数输出“even”。 思路: 打表,得出规律。 对n进行开方,sqrt(n)为奇数时,奇数输出“odd...
2019-07-17 19:58:57
980
原创 POJ-1321 棋盘问题(DFS深搜+DFS板子题)
题目链接: 棋盘问题 题意: 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。 ‘#’ 表示棋盘区域,‘.’表示空白区域。 DFS伪代码: void dfs()//参数用来表示状态 { if(到达终点状态) { ...
2018-09-20 17:43:32
396
原创 hdu-1150 Machine Schedule(二分图,最大匹配,匈牙利算法)
题目链接: Machine Schedule 题意: 有两台机器A和B,A机器有n种工作方式,B机器有m种工作方式。共有k个任务。每个任务恰好在一条机器上运行。 如果任务在A机器上运行,就需要转换为模式Xi,如果在B机器上运行,就需要转换为模式Yi。 每台机器上的任务可以按照任意顺序执行,但是每台机器每转换一次模式需要重启一次。 请合理为每个任务安排一台机器并合理安排顺序,使得机器重启...
2018-09-14 15:25:34
275
原创 匈牙利算法模板
看了一个下午的匈牙利算法,感觉是似懂非懂哈 学习了一些基本的概念,比如什么是最大匹配,增广路径...... 看了很多大佬的博客,我觉得我讲的话应该没有他们说得好,此处,传送门 1.有趣的匈牙利算法讲解 2.匈牙利算法详解 以上都是对匈牙利算法的一些概念的讲解,我觉得还是很必要的看懂这些。 然后我贴一个匈牙利算法的模板,链接:匈牙利算法模板 讲的还是不错哒 插入一段匈牙利算法的模板,...
2018-09-13 19:35:41
333
原创 cf Round #500 (Div. 2) B: And (思维+位运算)
题目链接: And 题意: 有整数n,x; 有n个整数a1,a2...an,可以对ai进行任意次ai&x; 求经过多少次操作可以使,整数中有两个是相同的。 思路: 占坑,等我想明白了再填。 AC代码如下: #include <cstdio> #include <iostream> #include <cmath> #include &...
2018-08-24 15:55:34
214
原创 cf Round #501 (Div. 3) D: Walking Between Houses (思维+贪心)
题目链接: Walking Between Houses 题意: 有n,k,s; n为最远的房子,k为走几次,s为可以走几步; 每次不能停留在原地; 求是否可以走k次走到s步; 思路: 先占坑; 看的别人的代码,并没有完全理解。 AC代码如下: #include <cstdio> #include <iostream> #include <cm...
2018-08-24 15:32:34
161
原创 Edu cf 48 (Div. 2) B:Segment Occurrences (思维+预处理)
题目链接: Segment Occurrences 题意: 有两个字符串a,b; 给出q个查询l,r; 求在a的l,r中的b的个数; 思路: 本来想用前缀和,但是失败了呢,因为我发现如果样例为 a:codeforcefors b:for 我用前缀和的话a为0000001111122 如果一个q为6 9,输出为1,实际为0; 可能还有别的前缀和方法可以求得,但我没有想到,如果...
2018-08-24 14:45:49
185
原创 Edu cf 47 (Div. 2) B:Minimum Ternary String (思维)
题目链接: Minimum Ternary String 题意: 一个字符串a; 他可以10交换成01,21交换成12; 但不可以20交换成02; 求最小的字符串; 思路: 由题解得: 要获得最小的字符串,即要尽量将0往前,接着1往前,再2,因为10,21都可以交换的,而20不能交换,所以2后面的0都是不能转换到2前面的,所以我们可以把2前面的0先输出,再输出所有的1,再输出2,...
2018-08-24 13:58:49
138
原创 Edu cf 47 (Div. 2) B:Minimum Ternary String (思维+gcd)
题目链接: Minimum Ternary String 题意: 整数n,m; 有n个整数标号为1~ n; 求是否存在m个对使得gcd(a,b)= 1(1<=a<=n,1<=b<=n,a!=b); 思路: 暴力呗,暴力出奇迹啊~ 因为n,m的范围是<=1e5,所以应该不会T吧...... 枚举gcd(a,b)=1的用两个数组分别存起来,如果已经到了m...
2018-08-24 13:43:44
161
原创 cf Round #502 (Div. 1 + Div. 2) B: The Bits (思维)
题目链接: The Bits 题意: 有两个字符串a,b,均由0,1组成; a OR b为 c,Bitwise OR 为或运算符,例如 01011 OR 11011 ——>11011; 在a中随意交换两个数的位置; 求有多少种交换方法,可是a OR b 不等于 c; 思路: 我也是看了题解后理解的; 我们可以这样想: 同一位置的a,b,如果是01,那么只有该位置当前面有1...
2018-08-24 13:28:14
190
原创 cf Round #502 ( Div. 1 + Div. 2) C: The Phone Number (思维+分块)
题目链接: The Phone Number 题意: 一个整数n,由1~n组成,求LIS(最长上升序列)+LDS(最长下降序列)的最小值 思路: 这道题很巧妙啊 其实可以从样例中猜出一点规律,但是我这种菜鸡怎么可能猜得出来呢,哭= = 所以我去看了题解 我们可以这样想,想出最优的构造方法:首先感觉,最优的策略大致就是把序列分成递增的几小块,递减的长度就是分的快数,递增的长度就是块...
2018-08-24 12:47:05
167
原创 cf Round #503 (Div. 2) A: New Building for SIS (思维)
题目链接: New Building for SIS 题意: 楼楼间有通道; 给出k个查询; 求起点到终点的最短路线; 思路: 思路其实很简单,就是一道水题,但是无奈思维太差,比赛时候一直没考虑到如果他起点和终点在同一个楼,比如1 6 1 8; 而通道在比如2 3,那么他没有必要从6到3再到8,直接6到8就好啦; 而我当时写的代码没有考虑到这种情况,比赛时一直是wa,也找不出什么...
2018-08-23 19:55:28
155
原创 Edu cf Round 49 (Div. 2) C:Minimum Value Rectangle(思维+数学+set)
题目链接: Minimum Value Rectangle 题意: 从n个数中选择四个数形成矩形,必存在至少一个矩形,该矩形周长为P,面积为S 求P^2/S的最大值; 思路: 设矩形的长为a,宽为b; P=2*(a+b); S=a*b; P^2/S=4*(a+b)^2/(a*b)=4(a/b+b/a+2); 所以为了使P^2/S最大,即要让a/b+b/a最大; 由数学知识得...
2018-08-23 19:33:07
157
原创 hdu-6300 Triangle Partition(多校一1003) 思维
题目链接: Triangle Partition 题意: 有n个三角形,有3*n个坐标(任意三点不共线) 求互不相交的三角形,依次的标号数(从1~3*n) 思路: 一开始还在想着怎么做呢,可能性这么多,怎么做才能满足所有情况呢hhh,还是思维太禁锢了哭= =。 看了题解觉得太巧妙了!! 只要有一个三角形中出现点,那么肯定会出现相交的情况,那么我们必须选择相邻的点组成三角,肯定不会出...
2018-08-23 16:48:55
206
原创 hdu-6298 Maximum Multiple(多校一1001)思维
题目链接: Maximum Multiple 题意: 一个整数n,存在整数x,y,z; 满足n=x+y+z, x∣n, y∣n, z∣n ( | 是整除的意思 ); 求:x*y*z的最大值,若存在,输出x*y*z;若不存在,则输出-1; 思路: 一开始在比赛的时候是完全没有思路,一直在用很常规的方法想,肯定不行的啊,复杂度太高了,队友很聪明啊 所以我们可以这么想: 设a=n/x,...
2018-08-23 15:23:00
216
原创 cf Round #505 (Div. 1 + Div. 2) B:Weakened Common Divisor (思维+gcd+最小因子)
题目链接: B. Weakened Common Divisor 昊神讲的很好,必须码,这里是传送门:昊神的传送门 AC代码如下: #include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<set> #include<vec...
2018-08-21 20:04:05
124
原创 hdu-6418 Rikka with Stone-Paper-Scissors(多校九1004)期望
题目链接: Rikka with Stone-Paper-Scissors 题意: Rikka和Yuta一起玩剪刀石头布的游戏,很有趣对不对~ Y分别有a1,b1,c1个剪刀,石头,布,R分别有a2,b2,c2个剪刀,石头,布,R胜Y得一分,平手得零分,R输Y扣一分,求R得到最大分数的期望。 思路: R要获得最大分数,则在Y出剪刀的时候R一定要出石头,此时R可以得到胜Y的分数但是同时会...
2018-08-21 09:10:50
437
原创 hdu 6287 口算训练(二分+质因数分解+思维)
口算训练 Time Limit: 8000/4000 MS (Java/Others) Memory Limit: 512000/512000 K (Java/Others) Total Submission(s): 1968 Accepted Submission(s): 423 Problem Description 小Q非常喜欢数学,但是他的口算能力非常弱。因此他找到了...
2018-07-26 14:52:13
340
原创 hdu 6286 ——2018(CCPC2018-湖南全国邀请赛-重现赛(感谢湘潭大学))
2018 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 500 Accepted Submission(s): 258 Problem Description Given a,b,c,d, find out the nu...
2018-07-25 19:13:15
787
原创 Arbitrage(最短路 弗洛伊德改动)
ArbitrageTime Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other)Total Submission(s) : 43 Accepted Submission(s) : 14Problem DescriptionArbitrage is the use of discrepancies ...
2018-07-05 09:32:25
382
原创 六度分离(弗洛伊德算法)
六度分离Time Limit : 5000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other)Total Submission(s) : 29 Accepted Submission(s) : 10Problem Description1967年,美国著名的社会学家斯坦利·米尔格兰姆提出了一个名为“小世界现象(small...
2018-07-02 13:04:51
2772
原创 动态规划(1)
数字三角形运用dp动态规划d[i][j]=a[i][j]+max(d[i+1][j],d[i+1][j+1]); 有两种方法:递推,记忆化搜索;1:递推。#include<stdio.h> int max(int a,int b)//比大小 { if(a<=b) return b; else return a; } int main() { int m,a[10...
2018-04-30 22:26:31
134
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人