自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(74)
  • 问答 (1)
  • 收藏
  • 关注

原创 算法核心思想总结及模板(不定期更新)

写这篇博客的目的:加强对算法的理解和概括备忘快排(divide-and-conquer)核心思想:   每一次划分将小于或等于pivot element(下面第二张图中 xx)的元素依次放在前面,则大于xx的元素就自动到后面一部分了,然后再把xx放到两部分中间(此时xx已排好序,归位),然后对左右两部分递归调用。Update:2017/2/18 筛法求素数核心思想:   把合数筛掉。

2017-02-18 11:52:44 1011

原创 一百万数据求Top K

#include <bits/stdc++.h>using namespace std;#define ll long long#define N 1005#define mod 1000000007#define INF 0x3f3f3f3fconst double eps=1e-8;const double pi=acos(-1.0);vector<int>* solve(int num[], int len, int topK){ prior.

2020-06-16 20:32:19 311

原创 hdu 1242 优先队列BFS,DFS

传送门常见的迷宫最短路,不同的是路上还有妖怪,每干掉一个妖怪要1单元的时间,于是先放进队列里的时间消耗不一定更小,所以可以使用优先队列下的BFS,来求最短路。时间复杂度:O(n*m*(log(n*m))#include <bits/stdc++.h>using namespace std;#define ll long long#define N 205#define mod 1000000007#define INF 0x3f3f3f3fconst double eps

2020-05-10 21:51:52 172

原创 LeetCode 39 组合总和

传送门给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。说明:所有数字(包括 target)都是正整数。解集不能包含重复的组合。解法:去重DFS,设置搜索起点。class Solution {public: vecto...

2020-04-21 19:31:01 133

原创 LeetCode 179 最大数

传送门数字可能很大,直接转成string,然后根据是否(a+b)>(b+a)定义先后序,排序后拼起来就是最大数。注意全0的边界输入,此时应输出“0”,而不是多个“0”。class Solution {public: bool static cmp(string a, string b){ return (a+b)>(b+a); //当a+b&gt...

2020-04-20 21:55:22 169

原创 剑指Offer系列题解

剑指Offer系列链表专题1.链表中倒数第K个结点倒数第k个结点,从1开始数,倒数第0个结点指针为NULL。空间复杂度O(n),时间复杂度O(n)解法:/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*/class Solutio...

2020-04-20 17:40:55 214

原创 再谈背包

今天笔试刷到了个背包问题,发现之前写的背包系列有点生硬,现在重新背上“背包”,去感受小明的故事:那是个绿草如茵的早上,远处蓝色的海上飘着白色的帆…01背包故事背景小明背上村里人给他缝制的“百家包”,来到了“明明闯关大舞台”!载着全村人希望的小明紧绷着耳朵,听着主持人掷地有声地念到游戏规则:“小明同学,面前的这条传送带将会依次出现n个物品,每个物品都有其价值和空间占用,你可以选择是否将该物品装...

2020-03-29 00:01:30 138

原创 TortoiseSVN检出或清理失败,并显示乱码的解决方法

问题产生原因(博主碰上的,不唯一)1.两人在同一基础版本的同一文件上分别进行了修改,A先提交到服务器后,B想要提交则必须先从服务器上拉取更新并解决“冲突”:同一部分的修改采用谁的。2.但在解决冲突时,不小心误操作,没有解决冲突但却标记了已解决,导致更新时提示乱码。解决方法https://blog.csdn.net/apple_wheat/article/details/72774073解...

2020-03-27 12:15:09 1477

原创 牛客网 contest4784 A膜法记录(dfs,状态压缩)

题目链接:https://ac.nowcoder.com/acm/contest/4784/A方案:1. 注意到行数较少,可以遍历所有行是否执行攻击的情况,然后每种情况判断是否列攻击次数大于剩下的含敌人的列数。2. 时间复杂度(题面的第二种情况数据应该没开大最大,否则就时间就爆了)。3. 遍历的时候可以用dfs递归,也可用循环,循环的时候因为本质可以看做是枚举n位01串,所以可以用...

2020-03-23 17:23:03 150

原创 Android Studio导入项目时配置修改步骤

    在导入网上找的demo时经常会因为本地的Android Studio的build配置和项目的冲突,而bulid出错,在这里总结一下自己花了很长时间摸索出来的修改项目的配置的方法:    (纯小白,如果大家有更好的方法请告知呀)修改project的build.gradle文件中的build tool插件版本为本地默认版本例如:修改成classpath 'com.android.tools.b...

2018-03-07 22:42:54 3725

原创 Python知识点备忘

yieldyield(中文意思:产生)通过yield可以让函数变成一个生成器,每次运行到yield时就会“中断一次”将yield的值返回出去,然后需要的话再进一步运行函数,生成下一个值。这样做的好处就是可以减少内存的消耗,使得内存消耗维持在一个常数,特别是在读取文件等消耗内存难以预料的场景,通过yield相当于可以每次读取一个固定size的block。Python yield 使用浅析self相当...

2018-03-07 22:26:09 156

原创 退役帖

打完CCPC湘潭邀请赛和蓝桥杯以后,整个大学的ACM生涯也就真的结束了。要不是队友兼学弟兼窝校新建ACM协会第一任会长催着我写退役帖,估计这篇博客还得拖好久(毕竟拖延症重度患者)。在大一的时候,学校ACM最早的那批革命先驱和魏老师搞起了程序设计兴趣班,那时候没事就去听了一下,结果听了一节课,“麻蛋这么难,算了不搞了”。然后在大二上学期的时候,突然感觉玛德都大学了,要是以后回忆起来...没啥值得

2017-06-25 21:47:25 384 1

原创 UVA 10870 Recurrences(矩阵快速幂)

题目链接:https://vjudge.net/problem/UVA-10870题意:给出一个线性递推,求f(n) mod m解题方案:线性递推,可以用矩阵相乘描述,矩阵快速幂。#include #include #include #include #include #include #include #include #include #include

2017-05-19 15:10:23 273

原创 hdu 6029 Graph Theory

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6029题意:有一种图叫“Cool Graph”,从2号顶点到n号顶点每个顶点都有2种选择:(1)和前面所有的顶点(1 ~ i-1)都相连 (2)和前面所有的顶点都不相连。给出这些顶点的选择,问这个“Cool Graph”是否存在完美匹配(边的集合,使得图的每个顶点覆盖且仅覆盖一次)。解题方案:

2017-05-10 00:37:06 666

原创 hdu 2159 FATE(完全背包)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2159解题方案:完全背包,dp[i][j]表示前i个物品凑出价值j的最小花费。则:第i种物品不用(用的次数为0),dp[i][j]=min(dp[i][j], dp[i-1][j])第i种物品用(用1次,2次,......),dp[i][j]=min(dp[i][j], dp[i-1][

2017-05-09 18:52:02 287

原创 hdu 6024 Building Shops (DP)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6024题意:有n个路口排在一条直线上,现在要建几个商店,每个路口要不自己建商店,有花费c,要不就去最近左边的商店,花费是到最近左边的商店的距离,最左端的路口一定要自己建商店,求出最少总的花费。解题方案:刚开始想着用贪心,先给n个路口按坐标排序,然后从第2个开始从前往后遍历,每次衡量自己建的花

2017-05-08 23:21:08 255

原创 hihocoder 1509 异或排序(模拟)

题目链接:http://hihocoder.com/problemset/problem/1509解题方案:首先,两个数谁大谁小一定是看这两个数的高位里面第一个不相同的数字,不管是10进制还是2进制都是这样判断。然后可以将所有的a[i]看成是60位的二进制数,a[i]和a[i+1]二进制串相同的地方和s异或后一定还是一样的,不同的地方和s异或后一定还是不一样的,因为(0,1)^0=(0,1),

2017-05-05 18:10:10 431

原创 leetcode 72 Edit Distance(DP)

题目链接:https://leetcode.com/problems/edit-distance/#/description解题方案:与最长公共子串类似,比较最后一个字符。dp[i][j]为表示S的前i个字符转变成T的前j个字符的最少操作数,则若S[i]==T[j],dp[i][j] = dp[i-1][j-1]若S[i]!=T[j],dp[i][j] = min(dp[i

2017-05-02 00:24:28 176

原创 牛客网 素数伴侣(二分图最大匹配,匈牙利算法)

题目链接:https://www.nowcoder.com/questionTerminal/b9eae162e02f4f928eac37d7699b352e解题方案:2#include #include #include #include #include #include #include #include #include #include #include

2017-05-01 13:51:23 920

原创 hdu 3342 Legal or Not(DAG的拓扑排序)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3342题意:给出一个有向无环图,问是否存在拓扑序列。解题方案:用入度表的方法,即每次找入度为0的点,然后删掉这个点和由这个点发出的边,循环结束以后判断是不是每个点的入度都为0了,如果是则该DAG存在拓扑序列,否则说明存在环,则不存在拓扑序列。解法一:入度数组+邻接表(vector 动态建表,

2017-04-28 18:08:21 994

原创 ZOJ 3960 What Kind of Friends Are You?(STL map,状态压缩)

题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5592题意:向c个朋友询问q个问题,现在给出对于每个问题每个朋友的回答(每个问题给出回答"yes"的朋友,其他即为回答"no"的朋友),然后给出一个n行q列的01矩阵,代表n个朋友的回答,判断这n个回答分别是谁答的,如果能唯一确定则输出他的名字,否则输出"Let's

2017-04-24 22:33:48 620

原创 hdu 1532 Drainage Ditches(最大流)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1532题意:求从1到m的最大流(在下面的代码中n,m互换了)。解题方案:EdmondsKarp算法求最大流(关于算法中为什么要用反向边,这篇博客给出了很好地解释)。#include #include #include #include #include #include #inc

2017-04-23 00:49:53 214

原创 UVA - 1363 Joseph's Problem(打表找规律)

题目链接:https://vjudge.net/problem/UVA-1363题意:给出正整数n和k(1解题方案:被除数固定为k,除数依次加1,讲道理余数应该有规律,打表找找规律:int n,k;while(~scann(n,k)){ int sum=0; FORR(i,1,n) { sum+=k%i; printf("%d

2017-04-19 17:39:24 397

原创 hdu 1231 最大连续和(一题多解)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1231题目的规模n最大有1e4,所以直接暴力枚举起点终点,再进行求和复杂度O(n^3),会超时;因为是连续区间,容易想到用前缀和优化一下,可以去掉直接暴力的最内层求和,即换成sum[j]-sum[i],复杂度O(n^2),但还是会超时。下面给出3个可行的解法。解法1:仍然采用前缀和的思想,只

2017-04-18 22:54:05 344

原创 UVA - 815 Flooded(浮点数二分)

题目链接:https://vjudge.net/problem/UVA-815题意:有一个n*m(1解题方案:二分水位高度进行check,记所有网格中高度最低的格子的高度为a[0],当没有水的时候水位高度应该是a[0],此为水位高度的下限;当所有雨水都囤积到最低的格子处时,水位高度为a[0]+V/100.0,此为水位高度的上限,接下来在区间[a[0] , a[0]+V/100.0]进行二分

2017-04-17 19:33:52 309

原创 poj 2689 Prime Distance(大数区间素数筛法)

题目链接:http://poj.org/problem?id=2689题意:给定区间[L,R],求区间内距离最近的相邻素数对和距离最远的相邻素数对。解题方案:用筛法求出[L,R]的所有素数——利用“合数n一定有小于或等于sqrt(n)的素数因子“这条性质,先预处理出sqrt(2,147,483,647)范围内的所有素数,然后用它们筛掉所有在区间[L,R]内的合数。#include #

2017-04-16 00:15:39 699

原创 UVA - 12169 - Disgruntled Judge (扩展欧几里得)

题目链接:https://vjudge.net/problem/UVA-12169题意:已知a,b,x1a,b,x_1范围[0,10000],且xi=(a∗xi−1+b)%10001x_i=(a*x_{i-1}+b) \%10001,给出输入T,x1,x3,...,x2∗T−1T,x_1,x_3,...,x_{2*T-1},求出任意一个符合题意的序列x2,x4,...,x2∗Tx_2,x_4,...

2017-04-15 16:38:57 256

原创 51nod 1267 4个数和为0(STL,二分)

题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1267解题方案:4个数a,b,c,d的和可以拆成(a+b)+(c+d)的和,即可以先预处理出所有可以凑成的2个数的和,然后在这所有的2个数的和里面进行二分查找0-(a+b)。因为题目没有说N个数互不相同,所以二分找到以后还得check一下是否共用了某个数,如果

2017-04-07 13:08:16 229

原创 蓝桥杯 PREV-20 公式求值(母函数,推导,dp)

题目链接:http://lx.lanqiao.cn/problem.page?gpid=T43解题方案:q老师在贴吧的传道授业解惑

2017-04-04 15:54:40 2041

原创 蓝桥杯 PREV-9 大臣的旅费 (两次DFS)

题目链接:http://lx.lanqiao.cn/problem.page?gpid=T32题意:求树中最远的两个点的距离。解题方案:第一遍dfs,任取一个点,找到离它最远的点a,第二遍dfs,以a为起点,找到离a最远的点b,ab即为树中最远的两个点。证明:树的直径(最长路)的详细证明。#include #include #include #include #includ

2017-04-04 14:47:11 282

原创 hdu 1028 Ignatius and the Princess III(整数拆分,母函数或dp)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1028题意:整数拆分,拆分成正整数的和的方案数。解题方案:母函数或dp。方法一:母函数。与上一篇博客类似,属于讨论到的第二种情况。#include #include #include #include #include #include #include #include

2017-04-03 22:19:37 306

原创 hdu 2082 找单词(母函数)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2082解题方案:母函数假设只有A、B、C三个字母,且每个字母只能用一次,可以构造出母函数G(x)=(1+x)(1+x2)(1+x3)G(x)=(1+x)(1+x^2)(1+x^3),指数代表价值,其中1=x01=x^0,代表不取,价值贡献为0。 (1+x) (1+x):即(x0+x1)(x^0+x^1

2017-04-03 16:44:52 311

原创 蓝桥杯 PREV-19 九宫重排 (BFS + hash)

题目链接:http://lx.lanqiao.cn/problem.page?gpid=T42解题方案:一共9!=362880种状态,爆搜不会超时。刚开始用dfs,刚开始直接用dir记录上一层到本层所走的方向,目的是想要防止走回头路。结果:爆栈。经过调试发现这样只能避免立即走回头路,并不能防止走环路。于是发现还是要写vis数组进行标记,但是本题的状态是一个图,或者说是一个字

2017-04-02 20:27:12 305

原创 nefu 582 素数判定(素数筛法和基本法双排)

题目链接:http://acm.nefu.edu.cn/JudgeOnline/problemShow.php?problem_id=582解题方案:本题范围为1e5,可以直接用基本法或筛法,这里用两者双排的方法,大概可以解决范围上界为1e14的素数判定。 定理:如果nn是一个合数,则nn必有小于或等于sqrt(n)sqrt(n)的素因子。证明:记nn为一个合数,首先根据算术基本定理(即正整数

2017-04-01 17:55:11 372

原创 nefu 117 素数个数的位数 (素数定理)

题目链接:http://acm.nefu.edu.cn/JudgeOnline/problemShow.php?problem_id=117解题方案: 素数定理:对正实数xx,定义π(x)π(x)为素数计数函数,即不大于x的素数个数。其中一个估计为π(x)≈xln(x)π(x)\approx \frac{x}{ln(x)}因为题目只要求素数个数的位数,所以这个估计就足够了,原问题的解即为log

2017-04-01 15:11:28 492

原创 51nod 1284 2、3、5、7的倍数 (容斥原理)

题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1284解题方案:容斥原理#include #include #include #include #include #include #include #include #include #include #include

2017-04-01 00:22:52 584

原创 51Nod 1073 约瑟夫环 (递推)

题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1073解题方案:约瑟夫环的经典解题方案——一人出列以后重新排列,变成和原问题相似的规模更小的子问题,再找出映射规则,即递推。参考博客:约瑟夫环问题(数学方法)    当只剩下一个人的时候,即在O(1)规模下他的编号为0。通过递推,也就是层层映射

2017-03-31 16:22:35 251

原创 hdu 2669 Romantic (扩展欧几里得)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2669题意:求线性方程a*x + b*y = c的一组整数解,其中c=1,并要求x非负。解题方案:扩展欧几里得。若gcd(a,b)!=1,则c不是gcd(a,b)的倍数,则无解。所以如果有解,则gcd(a,b)==1,即原方程可转换为a*x + b*y = gcd(a,b)。#inclu

2017-03-31 15:48:22 290

原创 hdu 1443 Joseph (约瑟夫环)

题目链接:acm.hdu.edu.cn/showproblem.php?pid=1443题意:约瑟夫环,一共2*k个人,每次报到m出局,前k个是好人,后k个是坏人,求最小的m使得所有的坏人先出局。解题方案:模拟,打表,可以维护一个[start,end]区间保护所有的好人,模拟k步。设p=(m-1)%n,n为当前人数,即p为每次出局的位置(重新排列并映射以后的位置),初始时s

2017-03-30 18:05:21 390

原创 Educational Codeforces Round 18 problem B Counting-out Rhyme(约瑟夫环变形,模拟)

题目链接:http://codeforces.com/contest/792/problem/B题意:n个小孩顺时针从1开始计数排列成一圈,他们玩k次counting-out游戏,每次leader(初始为1)从他的下一位开始数a[i]下,第a[i]个出局,第a[i]+1个成为新的leader,问每次出局的人的编号。解题方案:模拟,复杂度O(n*n)#include #include

2017-03-29 10:04:22 270

空空如也

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

TA关注的人

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