自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 来自一个科四没考的人的心理阴影

道路千万条,安全第一条我:问题不大,就是头有点晕手机:问题很大,我碎了有惊无险我妈:怎么撞的?我:不知道,又不是我开的,该幸亏我今天没考科四?手机:你礼貌吗?

2021-08-26 00:22:47 137

原创 状态压缩DP(持续更新~

poj 2441题意:有N头牛,每头牛都有自己喜欢的barn 而且一个barn只能有一头牛,求给这些牛分配barn 共有多少种方法#include<bits/stdc++.h>using namespace std;int n,m,x,t;int dp[2][1<<20],a[25][25];int main(){ scanf("%d%d",&n,&m); memset(a,0,sizeof(a)); memset(dp,0

2020-10-23 17:19:33 138

原创 分层图题集

分层图的模板和最短路一样,正所谓图论的99%难点都在建图。用分层图的几种情况:1、有k个不同集合的边,将每个集合内的边建成一张图,再建立第k+1个图,是一个虚层,用这个虚层将这k张图连接起来。每次可以通过虚层转移到另一个集合的图中。如例1.小雨坐地铁。2、有k个机会使得走当前此边不花费代价或花费特殊的代价,可以建立k张相同的该图,每张图之间用有边的点连接起来,其代价是0或是特殊的值。每向下走一层,就代表用了一次机会,使得当前的路花费为0,最多可以走k次。如例2.飞行路线。3、有k个机会逆向行驶,我们...

2020-10-06 21:20:04 365

原创 KMP题集-专注Next数组

kmp的关键之处还是在Next数组上Next存的是前缀和后缀相等的长度基础的模板题就不上啦,来几个应用题目~~~POJ-2185给出一个大矩阵,求最小覆盖矩阵,大矩阵可由这个小矩阵拼成。(就如同拼磁砖,允许最后有残缺)emmm~~二维滴,本来想KMP的next求出每行的最小循环子串长度,然后求这些长度的公倍数,作为宽(若大于col,则为col)。然后用KMP的next求出每列的最小循环子串长度,然后求出这些长度的公倍数,作为长(若大于row,则为row)。虽然我最后也过了,but 有反例的.

2020-09-30 20:19:44 173

原创 2019哈尔滨CCPC

A - Artful Paintings题意:有N个格子,你可以任意给每个格子染色,但是要满足M个限制条件,限制条件有两种类型:1.区间[l,r]中被染色的格子数量不少于K。2.区间[l,r]外被染色的格子数量不少于K。在满足所有限制条件下求染色格子数量的最小值。思路:F - Fixing Banners题意:分别从6个字符串里选一个字母,问能否构成"harbin"思路:DFS#include<bits/stdc++.h>using namespace ..

2020-09-18 19:39:11 172

原创 XML课程

1. 设想有这么一本书: 书名:XML指南 第一章 XML入门简介 1.1节 什么是HTML 1.2节 什么是XML 第二章 XML语法 2.1节 XML元素必须有结束标签 2.2节XML元素必须正确地嵌套试使用XML文档进行描述。<?xml version="1.0" enco...

2020-09-15 21:05:16 265

原创 hdu 6155 线段树+DP

/**HDU 6155 Subsequence Count题意:一个长度为n的二进制串,q个查询,两种操作:1 l r 将在区间[l, r]的二进制串取反2 l r 查询区间[l, r]的不同子序列的个数思路:首先看整个区间[1, n]子序列的情况,dp[i][1]表示到i这个位置的时候以1结尾的子序列的个数,dp[i][0]表示到i这个位置的时候以0结尾的子序列的个数,那么有如下转移方程:1、 如果第i+1个位置是1,那么dp[i+1][1] = dp[i][1]+dp[i][0]+1, .

2020-09-06 21:17:44 141

原创 Linux复习第三章

第三章 系统管理1、Linux系统中的用户大体上可分为三组,分别为:管理员、普通用户和系统用户。2、假设当前系统中有一个用户itheima,则删除该用户,且在同时删除用户相关文件的命令是:userdel –r itheima。(删除用户的命令为userdel;选项-r会在删除用户的同时,删除与用户相关的文件。因此本题的答案为:userdel –r itheima。)3、在Linux系统中用于切换用户的命令有:su和sudo。切换用户时,su命令需要知道待切换用户的密码,而sudo命令只需知道当前用户

2020-08-13 23:26:55 5067 1

原创 Linux复习第二章

第二章Linux命令与工具1、Linux是一个基于命令行的操作系统,Linux命令中的选项分为长选项和短选项。2、Linux操作系统秉持“一切皆文件”的思想,将其中的文件、设备等通通当做文件来操作和处理,因此,文件处理与管理命令是Linux系统中最基础的命令。常用的文件处理与管理命令有:ls cd pwd touch mkdir cp mv rm rmdir(写出5个即可)等。3、Vi编辑器有三种工作模式,分别是:命令模式、插入模式和底行模式。4、GCC编译器的编译流程依次为:预处...

2020-08-13 23:19:30 5624 1

原创 Linux复习第一章

第一章 Linux系统简介与环境搭建1、Linux操作系统的核心程序由芬兰赫尔辛基大学的一名学生Linus Torvalds(林纳斯·托瓦兹)编写。2、 Linux操作系统是一款免费使用,且可以自由传播的类Unix操作系统,它支持多任务、多用户、多线程及多CPU,从其诞生到现在,性能逐步得到了稳定提升。3、Linux操作系统因其强大的功能和良好的稳定性,逐渐被应用到了人类社会的诸多领域,目前,Linux的应用领域主要包括:服务器领域、桌面应用领域和嵌入式应用领域,在服务器、超级计算机、嵌入式系统等领

2020-08-13 12:51:49 3045

原创 数据库的题目

1)为用户wang定义一个学生-课程模式S-Tcreate schema "S-T" authorization wang;2)为用户wang定义一个模式wangcreate schema authorization wang;格式:create schema 模式名 authorization 用户名;,若未指明模式名,则模式名隐含为用户名,创建之前必须获得权限3)为用户zhang创建一个模式test,并定义一个表tab1create schema test athori..

2020-05-09 21:50:21 773

原创 数据库概论3

终于开始SQL了4.1 SQL概述part1 SQL概述特点:1)综合统一2)高度非过程化3)面向集合的操作方式4)以同一种语法结构提供多种使用方式5)语言简洁,易学易用支持三级模式结构:1)外模式--视图+部分基本表2)模式--基本表3)内模式--存储文件part2 学生-课程数据库4.2 数据定义part1 数据定义的相关概念part2 模式的定义与...

2020-05-09 21:20:58 93

原创 数据库概率2

3.1 关系数据结构及其形式定义part1 关系数据库的产生背景part2 关系数据结构的形式化定义域笛卡儿积:所有域所有取值的组合(不重复) 元组:笛卡儿积的每一个元素 分量:关系:笛卡儿积的有限子集 候选码:唯一标识元组 基本表/查询表/视图表part3 关系模式与关系数据库关系模式:关系数据库关系模式的存储结构3.2 关...

2020-04-17 22:46:34 146

原创 数字电路1

第一章1.各种进制之间的转换2.与或非运算3.复合逻辑运算:与非/或非/与或非/异或/同或4.运算规则5.代入/反演规则6.

2020-04-17 16:54:06 559

原创 数据库概率1

从零开始啦,难受,果然在家一点学不进去,但是要慢慢补起来啊!!!2.1part1 数据库的应用领域(引言)关系数据库之父Codd一些专用名词part2 四个基本概念数据:描述事物的符号记录,数字化后存入计算机;数据与其语义不可分;有结构; 记录:数据库:永久存储,有组织,可共享;数据库管理系统:系统软件,操作系统和用户之间; 功能(6):数据定义...

2020-04-16 21:48:26 368

原创 背包九讲

01背包:有N件物品和一个容量为V的背包。第i件物品的费用是w[i],价值是v[i],求将哪些物品装入背包可使价值总和最大思路:每种物品仅有一件,可以选择放或不放。用子问题定义状态:即f[i][j]表示前i件物品恰放入一个容量为j的背包可以获得的最大价值F[i][j] = max(f[i - 1][j],f[i - 1][j - w[i]] + v[i])“将前i件物品放入容量为j的...

2020-03-02 21:52:41 151

原创 2019 上海站补

K题保留最多的边使得图为二分图因为n很小,暴力枚举方案就可以了利用二进制来枚举所有二分图的组合,1和0分别属于不同的集合,枚举同一集合当中的点是否存在边,如果存在边就删掉,记录留下的边,取最大值#include<bits/stdc++.h>using namespace std; int mp[20][20];int n,m,t,u,v,tot; int ...

2020-02-16 21:25:39 89

原创 umi和弓道---

2020-02-09 19:27:46 179

原创 牛客训练赛1

honoka和格点三角形只有两种三角形,底边为2,高为1和底边为1,高为21, 直角三角形 4(n-1)(m-2) + 4(n - 2)(m - 1)2,底边在x轴,为2 2(m-2)(m-2)(n-1)2,底边在y轴,为22(n-2)(n-2)(m-1)3,底边在x轴,为1 2(m-1)(m-2)(n-2)4,底边在y轴,为1 2(n-1)(n-2)(m-2...

2020-02-08 13:00:45 104

原创 前缀和+差分

数列的前缀和:sum[i]表示a[1]~a[i]的和用处1:求i~j的和sum[j]-sum[i-1]用处2:区间修改。设置一个change数组。当区间[i,j]上要加k时,我们令change[i]+=k,令change[j+1]-=k。如果我们对change数组求前缀和的话,前缀和sum_change[i]就是i这个位置变动的值二维数组的差分:Ans=sum[x2][y2]...

2020-02-02 16:07:53 87

原创 SDNU 1st

A题意大概是找到两个和为n的数字a 和 b,使得a/b是最简真分数(a < b)暴力查找(n<1000)#include<bits/stdc++.h>using namespace std;int n;int gcd(int x,int y) { if(y == 0) return x; return gcd(y,x % y);}i...

2020-02-02 13:25:54 99

原创 牛客信息学奥赛一本通

哈哈哈终于又有时间来愉快的刷书啦第一章 基础算法1.1 贪心算法 1) 最大不重合线段问题:将右端点升序排序,再判断是否能够选择 2)某条街被划为 n 条路段,这 n 条路段依次编号为1…n。每个路段最多可以种一棵树。现在居民们给出了 h 组建议,每组建议包含三个整数 b,e,t,表示居民希望在路段 b 到 e 之间至少要种t棵树。这些建议所给路段的区间可以交叉。请问:如果...

2019-11-16 21:52:12 155

原创 The Pilots Brothers' refrigerator POJ - 2965 思维

题目大意:一个冰箱上有4*4共16个开关,改变任意一个开关的状态(即开变成关,关变成开)时,此开关的同一行、同一列所有的开关都会自动改变状态。要想打开冰箱,要所有开关全部打开才行。 输入:一个4×4的矩阵,+表示关闭,-表示打开; 输出:使冰箱打开所需要执行的最少操作次数,以及所操作的开关坐标。做搜索的时候发现的题目:一个很有意思的解法:我们思考一下,能不能找到一种方案,使得只有...

2019-11-10 20:36:22 89

原创 MFC学习(三)滑块与进度条

新建项目,完成界面设计上面的一行是静态文本,关于滑块要设置的东西

2019-11-01 21:12:28 399

原创 MFC学习(一)模态与非模态

我用的是VS2017版模态:弹出后该程序的其它窗口就呈不可用的状态,原来程序暂停执行,直到这个模态窗口关闭后才回到原来程序继续。非模态: 直接显示出来,原来的程序继续执行下面的语句,其它窗口也呈可用状态。一、新建MFC(基于对话框模式)二、按图所示完成主对话框布局(Alt+Ctrl+X调出工具箱)用户和操作框是【Group Box】 (组成框)其他的是【Button...

2019-11-01 20:56:39 829

原创 2019icpc上海网络赛

K题定义Sb(x)为b进制下x的各个位数之和,求预处理出前1e6个数在各个进制中的结果即可B题开灯关灯问题,n个灯泡,开始灯全关着,m次操作,每次选定l和r,使得所有l到r间的灯原本关着就打开,原本开着就关上,问最后有多少灯开着分析:开始的时候想差分,但无奈用n来求加上T,复杂度在1e9,评测机1s连1e8都跑不了,所以就又想线段树,然后发现内存存不下,后来发现,其实也可...

2019-09-16 14:58:41 257

原创 几种读入方式

字符串读入1.getline(cin,s); //string读入,遇到换行符停止,先使用了cin或scanf输入数据然后再使用getline时,需使用getchar接收后面的换行符2. fgets(s,maxn,stdin); //char数组读入,遇到换行符停止3. cin>> //char数组和string均可读入,遇空格或换行符停止4. scanf...

2019-09-11 21:09:22 291

原创 2013年ICPC中国大陆区域赛真题

Golden Radio Base 黄金分割进制题目读了好长时间,大体是要把十进制数字转化成黄金分割进制,当然肯定每个十进制数字的黄金分割进制数字都是唯一的当时一直没懂 和 是什么意思后来终于才明白可以推出 还有以此为根据,暴力把>1的位数上的数字拆开再把相邻的1进位直到没有相邻的且每一位上的数字至多为1其实数组开100就可以,整数部分对1是斐波那契式的增长,所以...

2019-08-28 20:25:53 127

原创 DP(洛谷 + kuangbin专题)慢慢来持续更新ing

待到水到渠成那一天P2871 01背包裸题P263901背包裸题(代价和获益相同)P3009 求最大连续子段和预处理前缀和,然后一次枚举右端点,左端点无需枚举只要在遍历的时候维护前面的前缀和最小值即可#include<bits/stdc++.h>using namespace std;const int maxn = 1e6 + 10;int a[ma...

2019-08-27 10:41:08 141

原创 主席树的学习(粘板子之旅)

求区间第k小操作:将原始数组复制一份,排序后去掉多余的数,即将数据离散化。推荐使用STL中的unique函数;以离散化数组为基础,建一个全0的线段树,称作基础主席树;(和权值线段树类似)对原数据中每一个[1,i]区间统计,有序地插入新节点(题目中i每增加1就会多一个数,仅需对主席树对应的节点增加1即可)对于查询[1,r]中第k小值的操作,找到[1,r]对应的根节点,我们按照线段树的方...

2019-08-26 21:37:11 95

原创 2019牛客多校第五场

A题题目:给出一个数x,求n,要求n的位数不超过1000并且n和n的各位数字之和都是x的倍数解:因为只需要找任意一个即可,所以直接输出x个x即可F题题目:给出n个数字,求他的一个子集,要求集合内的任意两个不同的数的二进制表示之间至少有2位不同解:二分图最大独立集问题,要求集合内的任意两个不同的数的二进制表示之间至少有2位不同,那么也就是说两个不同的数字不在一个集合的条件是...

2019-08-19 18:33:52 151

原创 2019牛客多校第8场

A题单调栈的应用链接:https://ac.nowcoder.com/acm/contest/888/A来源:牛客网题目描述Gromah and LZR entered the great tomb, the first thing they see is a matrix of size n×mn\times mn×m, and the elements in the ma...

2019-08-16 10:56:59 381

原创 KMP & 扩展KMP & Manacher 专题

A题:简单的匹配问题,kmp的模板B题:同A题C题:一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案。对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢?问最多能匹配几次,不过每个字符最多只能被用一次只改一改匹配成功之后下一次的匹配位置即可,原本是匹配成功j = Next[j],但是我们需要匹配成功之后从头开始匹配,改成j = 0即可...

2019-08-12 19:57:02 74

原创 一般图匹配带花树hdu4687 & ural 1099

S - Boke and TsukkomiHDU - 4687A new season of Touhou M-1 Grand Prix is approaching. Girls in Gensokyo cannot wait for participating it. Before the registration, they have to decide which combinat...

2019-08-09 09:56:04 254

转载 一般图匹配带花树详解

其核心思想还是找增广路这里必须提到为什么二分图的算法和一般图要分开,在于二分图是不可能有奇环的(为什么可以自己画个图试试),而处理一般图的瓶颈就在于奇环的处理让我们来慢慢看假设已经匹配好了一堆点,我们从一个没有匹配的节点s开始,使用BFS生成搜索树。每当发现一个节点u,如果u还没有被匹配,就可以进行一次成功的增广;否则,我们就把节点u和它的配偶v一同接到树上,之后把v丢进队列继续搜索。...

2019-08-09 09:27:56 193

原创 kuangbin专题 匹配问题

主要是1)二分图最大匹配匈牙利和HK算法2)二分图多重匹配3)二分图最大权匹配KM算法以及较难的一般图匹配带花树算法总结:通过做题目对二分图的各种性质有了更深刻的理解二分图不可能有奇环,所以很多算法的实现都变得简单很多,但到了一般图就很难了,嗯~~~一般图的各种匹配算法还在摸索二分图最小点覆盖 (这一小部分是找的一篇博客https://blog.csdn.net/ACT...

2019-08-08 20:01:58 229

原创 Ugly Pairs 思维

http://codeforces.com/contest/1156/problem/B题目:讲一个给定的字符串(只包含小写字母)重新排序,要求相邻字符在字母表中不相邻解:将奇数偶数字母分开,奇数的字符存起来再加上偶数的,或者偶数的加上奇数的就是答案,如果不行的话,输出No answer#include<cstdio>#include<iostream>#...

2019-08-02 21:52:21 122

原创 并查集kuangbin专题

把内容迁到这里来了,作为一部分补充初始化:for(int i = 1;i <= n; ++i)f[i] = i;路径压缩:int find(int t){ if(f[t] == t) return t; f[t] = find(f[t]); return f[t];}合并:f[find(x)] = find(y);NOIP2...

2019-07-31 15:11:59 194

原创 二分&二分答案

二分其实是一种很优的算法,其特点是有一个判断条件满足单调,可以去找到一个满足条件与不满足条件的一个转折点二分以及二分答案的题目都有比较明显的特质,相信做上两三道就能够体会到经过我长时间做二分连WA+TLE的经验,总结出自己觉得还行的模板while(r > l) //递增,先是不满足条件,后来转折点变成满足{ int mid = (l + r) / 2; i...

2019-07-30 20:49:49 111

原创 分块---优雅的暴力

顾名思义:把长度为n的序列长度切成(根号n)个,把每一块当成一个整体(默认分成根号n个) 完整块---被操作区间完全覆盖-----可以作为整体操作 不完整块----暴力即可对于分块类问题,常常可以提取出“在给定区间内进行操作,或询问区间内满足给定条件的元素等”数列简单分块问题实际上有三项东西要我们思考:对于每次区...

2019-07-30 19:58:34 122

空空如也

空空如也

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

TA关注的人

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