- 博客(28)
- 收藏
- 关注
原创 Github配置,简易版(备忘版)
简单说一下Github的配置,主要是怕自己忘了。首先得下载一下git,windows的朋友们装一个git bash就ok了,一路默认安装就行。linux的朋友们输入下面这个应该就完事了。sudo apt install git然后是设一个ssh钥匙。先确认一下自己是不是已经有一个ssh公钥了,进入以下文件夹:# 用户目录/.ssh, 本人的在windows下是这个 C:\Use...
2019-02-24 15:34:29 230
原创 【基础算法】【ACM】差分约束系统与最短路算法
朴素差分约束系统的求解朴素的差分约束系统是一个不等式组的集合,集合中每一个不等式都形如Ai – Aj <= Xk。对差分约束系统的求解也就是要对不等式组求得任意一组或者满足某种最优性质的一组可行解。差分约束系统在各种计算机和实际的调度问题中都有应用,也可以对某些优化问题的求解提供帮助。 最朴素的差分约束系统可以将不等式组的求解转换成有向图上的单源最短路求解问题,可以利用Dijks...
2018-11-19 21:41:44 785
原创 Ubuntu下的apache2+php7+mysql环境配置
最近刚刚正式入web坑,对后端比较感兴趣。之前自己也看过一些HTML5,这次打算直接上php。Ctrl+Alt+T调出终端首先要安装apache2,在终端输入命令行sudo apt-get install apache2然后安装php7并让apache支持php7安装php7:sudo apt-get install php7.0安装apache2的php模块:apt-get in...
2018-10-06 22:45:17 562
原创 遇事不决打暴力!—— 那些让人感觉“这他妈也能过?”的暴力题集锦(不断更新)
数独 —— 九宫格首先说一道大多数人应该都很熟悉的题——求解数独。简单直接粗犷分析地话,这个题目有9 * 9 = 81个未知数,每个数有9种选择,一共是8^81这种复杂度。如果再考虑每个块里面每个数只能出现一次,那可以简化到(9!)^9。但是实际上考虑到各种剪枝,这个题目写裸的DFS,只要有解,就算是号称“世界上最难的数独”问题都能在1000ms之内求解。这个大多数玩家应该都有过体会。...
2018-10-06 22:03:16 523 1
原创 gym 101002C Greetings! 状压DP
题目链接题目大意:有n( n <= 15)种贺卡,每种给了尺寸还有数量。可以定制k种信封,用k种信封装n种贺卡,如果用4*12的信封装3*3的贺卡,浪费了4*12 - 3*3 = 39面积的纸。求最少的浪费。注意4*12的信封不能装12*4的贺卡题目分析:该问题数据范围n,k都是15,很容易就想到有比较暴力的做法或者能够状压DP。我们把目前已经安排上了的贺卡状态压缩,设DP[...
2018-10-03 11:44:59 369
原创 gym 101908B Marbles 博弈论SG函数
http://codeforces.com/gym/101908/problem/B题目大意:一个100*100的棋盘,坐标范围是[0, 100]的,上面有n个棋子。Alice 和 Bob轮流操作,每次操作可以把一枚棋子向左或者向下或者向斜下方移动任意步,也就是(x,y) 有这三种移动(x-l, y), (x, y-l), (x-l, y-l)。多个棋子可以同时在同一位置。第一个把棋子移动...
2018-09-27 09:38:08 1089
原创 gym 101908F Music Festival 背包DP
http://codeforces.com/gym/101908/problem/F刚刚做了这个题,感觉有点套路,也有点烦。记一下解题的思路(其实是觉得这么水的题都做了这么久,有点过意不去) 题目大意:给N组(N <= 10)有权值的区间,一共不超过1000个区间。在这些区间里选择若干不重叠(左右端点可以重)的区间,使得1. N组里面每一组至少选一个区间2.区间权值和...
2018-09-25 19:56:47 585
原创 [SCOI2013] 数数 比较复杂的数位DP
不好意思我是傻逼。。一不小心把后面的删完了。。日后再补。。吐血,一下午写的原题:题目描述Fish 是一条生活在海里的鱼,有一天他很无聊,就开始数数玩。他数数玩的具体规则是:确定数数的进制B确定一个数数的区间[L, R]对于[L, R] 间的每一个数,把该数视为一个字符串,列出该字符串的每一个(连续的)子串对应的B进制数的值。对所有列出的数求和。现在Fish 数了一遍数,但是不确定自己的结果是否正确...
2018-04-25 11:44:34 474
原创 [ZJOI2010]数字计数 数位DP
题目描述给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次。输入输出格式输入格式:输入文件中仅包含一行两个整数a、b,含义如上所述。输出格式:输出文件中包含一行10个整数,分别表示0-9在[a,b]中出现了多少次。最简单的数位DP的题目,可以对每个数字单独做,拿数字1举例。考虑DP[x][high][limit][lead],表示最高位为high的x位数中1出...
2018-04-11 09:15:30 274
原创 C++ C语言 读取32位BMP图片转为8位灰度图
BMP格式详细介绍链接:BMP格式详解BMP格式总结:① 前14字节描述文件类型,大小,数据偏移② 接着的40字节描述图片的大小,宽度,高度,位深度,分辨率等等③ 位深度常见的是1,4,8,24,32。其中1表示只有黑白两种颜色,4是16色,8是256色,24是RGB形式表示的,32是在24的基础上加上透明度的RGBA表示。④ 目前常见的彩色图片位24位或32位,8位一般为灰度图⑤ 如果是8位图(...
2018-03-24 12:51:11 5025
原创 扩展欧几里德算法 x的最小非负整数解 xy是否有非负整数解
写这个模板的直接原因也是最近在扩展欧几里德上吃了大亏。。欧几里德算法:即利用辗转相除法计算a与b的最大公因数gcdint gcd(int a,int b){ if(!b) return a; else return gcd(b,a%b);}扩展欧几里德算法:对于同余方程ax=c(mod b)求整数解即对线性方程ax-by=c求x,y的整数解我们讨
2017-04-03 17:01:00 1975
原创 链表模板
虽然这种东西不该专门开个模板,但是今天打校赛的时候一道题目因为上链表而迷之RE。。于是对于双端链表的删除操作专门写了一下。。void delNode(node* head,node* a){ if(a==NULL) return; if(a->pre==NULL) { head=a->next; if(a->next!=NULL) a->next->pre=NULL
2017-04-03 16:01:05 483
原创 A water problem 常数优化的故事。。
题目在这:http://dutacm.club:7217/codesheaven/problem.php?id=1089正解是dp,分奇数偶数来考虑。如果i是奇数,那么最优解由i-1加一以及(i+1)/2乘二减一构成如果i是偶数,那么最优解由i-1加一以及i/2乘二构成然后dp跑一遍就行了。但是当时我看了数据范围和时限之后,觉得BFS就能过啊,就陷入了无尽的深渊
2017-03-13 21:34:57 370
原创 Codeforces Round #395 (Div.2) C-Timofey and a tree 树型dp
题目链接:http://codeforces.com/contest/764/problem/C一道典型的树形dp题目,但是由于很久没有写代码以及模板也短时间找不到。。于是花了很长时间才写出来,差一点就没写出来orz,于是这里来记一下。题目大意是说给一颗树,树的每一个节点都有颜色,问是否存在一个节点,使得把这一个节点当作根,其所有子树上的颜色是一致的。随便选择一个节
2017-02-03 16:45:20 369
原创 HDU 5521 Meeting 抽象点+最短路
题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=5521题目大意:有n个点,m个区块,第i个区块内有Ei个点,点之间互相到达需要时间ti(同一个点可能在多个区块中)。两个人分别在1和n点,他们需要决定在一个点碰头开会。要求求出最少需要多少时间,同时输出所有使时间最少的点的编号。数据范围是n这个题一眼看上去
2016-08-20 09:58:06 360
原创 关于字符串匹配的效率 strstr 对比 KMP
单一模板的字符串匹配中,应该大多数OIer和ACMer都会选择KMP算法,因为KMP算法的时间复杂度在最坏的情况下也是O(n),适合在很多情况中使用。但是在某一次做题中发现题解内使用了函数strstr。之前都没有注意过string.h头文件里的这个函数。strstr(str1,str2) 函数用于判断字符串str2是否是str1的子串。如果是,则该函数返回str2在str1中首次出
2016-08-20 09:45:20 9016
原创 HDU 3672 Caves ACM/ICPC 2007 成都区域赛 C 背包+树形DP
该题的解法是背包型的树DP。题目大意:给出一颗以0为根的树,给出最多1000个x,求用价值x能够从根开始最多到达多少个节点。节点数n是小于500的,于是能够考虑预处理出结果,然后询问用二分查找实现logT,这样总的复杂度就是O(O(预处理)*logT)。我们设f[i][j][0]表示考虑i为根的这颗子树,达到j个节点并且返回i所需的最小价值;f[i][j][1]
2016-08-18 10:09:02 666
原创 POJ 2137 Cowties DP
题目链接:http://poj.org/problem?id=2137题目意思是有n头个奶牛,第i头奶牛有Si个喜欢的草场,给出所有草场的x,y坐标。要求将n头奶牛放置在他喜欢的某个草场上,并且将他们从1到n依次用绳子连成一个环,求最短需要绳子长度。答案要求输出最小绳长的100倍保留整数的结果。这是一道DP题,可以记f[i][j]表示考虑前i个奶牛,第i个奶牛在他第j个草场
2016-08-17 11:13:52 374
原创 HDU 5581 Infinity Point Sets ACM/ICPC 2015 上海区域赛 I 计算几何+组合计数
2015年上海区域赛的题目,这道题还是比较有趣的,反正我是WA哭了。。题目在HDUoj上也有,链接:http://acm.hust.edu.cn/vjudge/problem/287150/origin题目的意思是,给出二维空间里n个点的坐标,求有多少个不同的子点集不是无限点集。无限点集的定义是,将点集中的点两两相连,线段产生的交点加入点集中,继续上面的操作,如果操作能够无
2016-08-17 09:47:24 1872 1
原创 手写还算好用的 queue和Dequeue 为STL依赖党做些微小的工作 队列和双端队列
之前一直依赖STL,在无数次TLE的漩涡中。。本萌新终于下定决心手写了queue和dequeue首先是Queue,实现的功能有:1.push,pop,front,empty 这四个基本操作2.附带两个函数next和pre,用于在数组模拟队列的时候方便获取下一个位置,防止下标越界3.内部有报错局限性:1.目前这个只能是int类型。。2.其实最大长度是固定的,一开始
2016-08-15 22:00:53 2304
原创 PAT L3-006 迎风一刀斩 计算几何
题目链接:https://www.patest.cn/contests/gplt/L3-006一道比较烦的计算几何题。花了很长时间把3个WA改成2个、1个,最后在别人的帮助下才AC的。。把一个长方形一刀切成两个多边形叫迎风一刀斩,题目给出多组两个多边形,要求判断是不是迎风一刀斩出来的,多边形可能经过平移,旋转90/180/270度,而且最初的旗子两边平行于坐标轴。 由于一开
2016-08-15 10:38:13 2518
原创 POJ 1222 EXTENDED LIGHTS OUT 高斯消元?暴力枚举!
题目链接:http://poj.org/problem?id=1222题目大意:给一个6*5的矩阵,表示30个灯泡的开关情况,其中0代表关,1代表开。可以认为每个灯上有一个开关,按下开关之后,那个灯以及上下左右的4个灯的开关状态会发生改变。求让所有的灯熄灭的解决方法,最后输出5*6的矩阵,0表示不按那个按钮,1表示按。 一开始听说高斯消元什么的……后来发现没有必要,枚举第一行灯
2016-08-15 10:29:30 537
原创 POJ 1556 The Doors 点与线段交+最短路
题目链接:http://poj.org/problem?id=1556题目大意:一个房间里有很多墙,每道墙上有两个门,求从房间左边中点到右边中点的最短距离。如图: 这道题目说起来就是一道最短路的题,但是两点之间是否能够走,需要判断一下两点之间的连线是不是跟墙有交点,就是计算几何的判断线段相交问题。两类典型的题合在一起了。由于数据范围小的可怜,无脑暴力+floyd都能
2016-08-15 10:22:21 388
原创 PAT L3-012 水果忍者
PAT的训练题中比较复杂的一道,网上很难找到题解,于是我来发一波题目链接:https://www.patest.cn/contests/gplt/L3-012如果存在某条直线符合题意,那么可以把它向下平移,直到碰到某个水果的下端端点,我把这个端点称为“卡子”。再旋转(顺逆时针皆可),即可碰到另一个“卡子”。这时候这条直线就是过两个水果端点的直线。那么我只要枚举所有的水果
2016-08-15 10:10:00 3186
原创 POJ 3267 The Cow Lexicon DP
题目链接:一道简单的DP题。题目意思是给一个长度为n的字符串s,以及一个有m个单词的字典,求最少需要在s中删除多少个字符之后,s能够完全用字典里的单词表示。我的做法是DP,时间复杂度大约是O(n*m)。很容易就能想到将问题划分为这样的子问题:dp[i]表示在前0~i个字符组成的子串中最少删除多少个字符后能过完全用字典里的单词表示。这样一来最后的答案就是dp[n-1]。状
2016-08-15 10:07:05 289
原创 POJ 2728 Desert King 最优比率生成树
题目链接:http://poj.org/problem?id=2728题意是给出n个点的x,y,z值,要将n个点通过边连接起来。两个点之间的价值w是两点之间的平面欧几里德距离,费用c是两点直接的z坐标差。要求∑c/∑w的最小值。意思就是要求一个价值和费用比最高的生成树。题目要求的就是最小的r = ∑c/∑w我们可以构造一个这样的子问题,求z(k) = ∑c – k * ∑w
2016-08-15 10:02:38 406
原创 POJ 1129 Channel Allocation DFS+四色问题优化
一道DFS题,能过采用四色问题的结论进行优化。题目链接:http://poj.org/problem?id=1129问题是说有n个广播站,相邻的广播站为了避免干扰,需要用不同的频道,最少需要有多少个频道。这个问题由于广播站直接的相邻关系和平面图像的相邻关系相似,于是可以抽象为一个平面图涂色,相邻区块不能涂相同的颜色。结论是最多需要4种颜色,于是在DFS的时候3种颜色
2016-08-15 09:53:45 634
原创 POJ 2296 Map Labeler 2-SAT+二分答案
这是我的第一篇博文,OI省选翻车几乎爆零,于是从OI狗变成了ACMer听前辈说多写题解、模板、心得丢博客里会有明显的进步,于是决定开始这么做了。想着第一篇是要写题解还是要写模板,想了想还是写题解。一道比较简单的题。题目链接:http://poj.org/problem?id=2296题目大意:地图上有很多的城市,每个城市需要贴上一个标签,标签是正方形,而且标签的上边
2016-07-29 22:15:46 611
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人