自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

qwb的博客

ACing

  • 博客(31)
  • 资源 (6)
  • 收藏
  • 关注

原创 整体二分 hdu5412 CRB and Queries

传送门:点击打开链接题意:两种操作,操作1查询区间第k大,操作2把位置x的值改成y。n,Q思路:整体二分。刚开始以为是在线段树上二分答案,没想到它竟然是对所有的二分答案,还是第一次见到这样的二分方法!说下整体二分的大概思路:首先,按照操作顺序,将所有的查询和修改操作全部加入到数组A中,然后去调用solve函数,L和R其实是数组A的指针,l和r是二分答案的范围之后,取l和r的中点

2016-03-31 17:40:59 576

原创 KMP+dp Codeforces346B Lucky Common Subsequence

传送门:点击打开链接题意:告诉你A,B,C,求A和B的最长公共子序列,并且C不是最长公共子序列的子串思路:先求C的Next数组,利用Next数组来完成状态的转移。而且,用KMP来优化的dp,通常都是往后更新的写法。对于打印路径,我们能用DFS来完成,这里有个我觉得很不错的写法,就是直接利用状压,来保存数字,感觉这样可以避免写一个结构体,方便的多然后dp部分,就是在求最长公共子序

2016-03-30 19:02:37 943

原创 最短路 51Nod1693 水群

传送门:点击打开链接题意:刚开始只有1个表情,现在有3种操作。操作1.复制,操作2.粘贴,操作3.退格问要到恰好n个表情,需要的最少的操作数。思路:这题的思路非常神首先,我们考虑到把这道题转换成图论,i与i-1之间连一条边,费用为1,i与i*k之间连一条边,费用为k,然后跑一遍最短路。但是,这里的边数太大了,这里就出现了我们第一个优化,这个优化我觉得值得我们思考。。在连接i

2016-03-30 16:49:54 951

原创 kd树 hdu2966 In case of failure

传送门:点击打开链接题意:给n个点,求对于每个点到最近点的欧几里德距离的平方。思路:看鸟神博客学kd树劲啊点击打开链接kd树其实是暴力树,,真的。。它把一个平面划分成了很多个小平面。每次划分的依据是平面中按x排序的点的中位数或者是按y排序的点的中位数。建树的复杂度是稳定O(nlogn),但是查询就是大暴力了把平面分成很多个小平面后,相当于在平面上搜索剪枝。kd树

2016-03-29 15:43:43 992

原创 强连通分量+缩点 codeforces652E Pursuit For Artifacts

传送门:点击打开链接题意:告诉你一个带权边无向图,边的权值只有0和1,告诉你起点和终点,问是否能使得从起点出发到终点时,路径边权和不等于0,每边最多只允许通过一次。思路:因为"边不能走重复的",往往不能走重复边都可以和强连通分量结合起来。这题我们首先求无向图所有的强连通分量并缩点,对于每一个强连通分量,如果里面有一条边的权值为1,那么最后缩成的点我们也给一个权值1。缩点全部完成后,

2016-03-28 17:12:09 1112

原创 并查集 hdu5652 India and China Origins

传送门:点击打开链接题意:告诉你地图的大小,每年有的地方会长出山峰,问什么时候两端开始不连通的。思路:先到最后一年,就是长出很多山峰时开始。之后相当于把山峰拆掉,所以就是把4个方向的空地用并查集合并,然后判断两端是否已经连通。就这样倒着xjb搞,就能出答案了,注意点细节和输出答案的时间就行了#include #include #include #include #inc

2016-03-27 22:00:19 619

原创 dp hdu5653 xiaoxin and his watermelon candy

传送门:点击打开链接题意:有n个箱子排成一排,有m个炸弹,位置告诉你,现在炸弹的左边伤害和右边伤害可以自己控制,要求 每个炸弹炸的箱子数的累乘,输出答案取log2并乘以1e6思路:直接2for xjb搞就行了,大概就是某个区间里刚好只有一个炸弹时,就是满足的,然后就从前面往后面更新一下#include #include #include #include #include #

2016-03-27 21:48:31 636

原创 线段树+离线 hdu5654 xiaoxin and his watermelon candy

传送门:点击打开链接题意:一个三元组如果满足j=i+1,k=j+1,ai思路:刚开始看错题目了,原来三元组是连续3个,这作为bc最后一题也太水了把。。。先一遍预处理,把连续3个满足条件的找出来,放到另一个数组里排序去重,用这个数组来给三元组哈希,再扫一遍给三元组在之前那个排序好的数组里二分一下得到下标,大概就是哈希一下,用一个数字来表示。之后的查询,其实就是,在区间内,不同的数字有

2016-03-27 21:28:16 705

原创 DFS csu1719 Boggle

传送门:点击打开链接题意:真正的题意是,告诉你一些字符串,然后告诉你很多个字符格子,问这些字符串能否在字符格子中连起来,在格子中对角线也认为是连在一起的。如果格子中的字符是q,其实是代表着qu思路:这题迷之英语,各种猜题意啊,,不过运气好比较早就猜中了,嘿嘿嘿懂题意了后就很简单了,DFS各种搜就行了,因为数据范围比较小#include #include #include #i

2016-03-27 20:31:50 829

原创 二分 csu1712 Refract Facts

传送门:点击打开链接题意:告诉你水的折射率,潜艇的深度,飞机的高度,两个的水平距离之差,求角度思路:设飞机到视线进入水面的那个点的垂线距离为m,然后我们就可以根据折射率,列出表达式。这种题目猜都能大致猜出,应该是有单调性,可以二分的,xjb随便先试试l=m,再试试r=m,总有一个是对的23333要注意输出的是角度,所以要把弧度换算成角度输出#include #include

2016-03-27 20:19:31 658

原创 模拟 csu1711 Kinfolk

传送门:点击打开链接题意:一颗完全二叉树,表示辈分关系,节点从0开始。随便告诉你两个节点,问v节点是u节点的什么关系。思路:顶级模拟题!感谢这道题目,我终于搞懂了各种头衔的含义。。思路大概是先求出u和v到lca的距离,然后就利用这个距离去讨论。刚开始可以写一部分出来,发现规律后就可以直接按规律来写了。#include #include #include #include

2016-03-27 20:14:27 681

原创 线段树+二分 hdu5649 DZY Loves Sorting

传送门:点击打开链接题意:一个n的排列,然后执行Q次操作,每次操作是对某个区间从小到大排序或者是从大到小排序。最后只查询一次,输出第k个位置当前的数。思路:这道题最特别的地方,就是,只查询了1次,因为这个特点也让这道题有了不同寻常的解法。我们可以直接二分第k个位置的数的大小记为m,然后给初始序列处理一下,把小于等于m的记为0,大于m的记为1之后的排序操作就非常简单了,只需要区间修改

2016-03-23 16:27:27 1753

原创 树型dp hdu5647 DZY Loves Connecting

传送门:点击打开链接题意:定义连通集S为,任意一对u,v属于S,u到v的树最短路径经过所有的节点都在S内。求所有这样的连通集大小之和思路:看到维护大小之和,通常还需要维护数量。看了下吉司机的代码写的很简单,只要理解好乘法原理,就很好做了#include #include #include #include #include #include #include #inc

2016-03-23 16:21:05 1242

原创 强连通分量 CCF201509-4 高速公路

传送门:点击打开链接题意:告诉有向图,求互通的城市对数。思路:强连通分量裸题,求出所有的强连通分量,答案就等于sigma s[i]*(s[i]-1)/2,s[i]是每个强连通分量的大小#include #include #include #include #include #include #include #include #include #include #i

2016-03-21 21:51:31 2164

原创 2016年4月CCF计算机软件能力认证模拟试题代码参考

问题描述给定n个正整数,找出它们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。输入格式输入的第一行只有一个正整数n(1 ≤ n ≤ 1000),表示数字的个数。输入的第二行有n个整数s1, s2, …, sn (1 ≤ si ≤ 10000, 1 ≤ i ≤ n)。相邻的数用空格分隔。输出格式输出这n个次数中出现次数最多的数。如果这样的数有多个,输出其中最小的一个。样

2016-03-21 21:46:36 7183 3

原创 AC自动机+矩阵快速幂变形 CCF201509-5 最佳文章

传送门:点击打开链接题意: 大概就是告诉你一个字典,字典里字母总个数不超过100,要构造一个长度为m(思路:看数据大小,再根据做题的经验,很容易就想到AC自动机来优化状态,再用矩阵快速幂来优化dp,但是这题很特别。我们先把dp写出来dp[i][j]=max(dp[i-1][j可能的上一个状态])+End[j]i是长度,j是在AC自动机中的节点但是,我们能发现,一般的矩阵快速

2016-03-21 21:37:30 3520 5

原创 KMP+区间dp csu1620 A Cure for the Common Code

传送门:点击打开链接题意:可以把字符串用过括号折叠起来。现在给你原串,问折叠后最短是多少,len思路,首先,我们通过O(n^2)来预处理出每个区间里的最短循环节。之后,我们直接按照区间dp用记忆化搜索去搞就行了。#include #include #include #include #include #include #include #include #inclu

2016-03-18 13:19:58 1179

原创 KMP+hash hdu3746 Cyclic Nacklace

传送门:点击打开链接题意:已知原串,在首或者尾加上一些字符后,变成至少有一个循环节循环2次变成新串思路:我们能很容易的发现,在首添加字母和在尾添加字母效果是一样的,所以我们只考虑在末尾添加首先我们都知道,KMP可以用来求前缀中的最长循环节长度。知道了这个有什么用呢?我们枚举所有的前缀,然后取得循环节的长度w,与此时后面剩下的字符串的长度t去比较如果后面剩下的字符串等于原字符串的

2016-03-17 20:12:28 1138

原创 最小表示法+hash hdu2609 How many

传送门:点击打开链接题意:有n个串,每个串是一个环,如果通过移动环之后能一样,认为是同一种串。问有多少种串。思路:很明显我们首先要把认为是一样的串变成一样的,比如找到这个串的最小表示法,所以这道题的目的就是为了求最小表示法,然后用hash搞一搞排序然后去重,或者是直接插入到set里面取size都是可以的KMP(复杂度O(n))来搞最小表示法暂时还不会,先挖个坑,我这里还有一种通过二分+

2016-03-17 20:05:23 1364

原创 KMP UVALive326 Period

传送门:点击打开链接题意:给一个字符串s,求所有的前缀中是否能能通过一段循环得到,如果能,输出位置和循环的次数,循环次数越小越好。思路:先通过KMP求出Next数组(我的Next数组的写法,是Next[0]=0,这个看个人习惯之后直接判断Next[i] && (i + 1) % (i - Next[i] + 1) == 0就能知道是否可以搞定了详细证明可以去看训练指南,上面讲的很详

2016-03-17 15:57:52 993

原创 给sublime3配置C++(编译,运行,和格式化代码)

这段时间一直在搞Sbulime,以前一直都是用Codeblocks,但是sublime更加轻便下载安装sublime什么的我就不说了,先讲怎么配置MinGW安装好MinGW后,需要修改环境变量,右键我的电脑->属性->高级系统设置->高级->环境变量,然后把MinGW的bin目录,地址加到Path里,如果有多个用分号隔开如果是Win10就直接是下面这个画面了,方便的多之后可

2016-03-16 17:51:42 9749 4

原创 最小点覆盖 poj2226 Muddy Fields

传送门:点击打开链接题意:给你个地图,里面有泥地和草坪,现在有宽为1的木板,长度可以任意,要求把所有的泥地全部覆盖掉,但是不能覆盖到草坪。泥地上多个木板可以重叠,问所需要的最小木板数。思路:这道题和打枪那个经典题非常类似,我们可以从那道题入手。我们来观察两道题的异同,发现那道题里面每一行是可以打到所有的点的,但是这里必须只能是打到连续的,所以我们能想到把行拆成多个行。比如第一行有3

2016-03-15 12:38:06 1023

原创 匈牙利最大匹配 poj2446 Chessboard

传送门:点击打开链接题意:一个地图中,有一些障碍,然后有其他的空白位置,现在问是否能用1*2的骨牌覆盖所有的空白位置,骨牌不能有重叠。思路:乍看有点像状压dp,又有点像搜索,但是正解是二分图的最大匹配,而且做起来特别简单。首先,我们枚举每一个空白的点,枚举四个方向,如果相邻的格子也为空白的,那么就在两个格子之间连一条边,很容易证明,这样的连线方法一定是二分图。因为所有的格子,能通过

2016-03-14 21:09:22 997

原创 双向链表 csu1692 Vector Field

传送门:点击打开链接题意:有n(问最大能加速多少。思路:最好的方法就是先离散化一下,然后用双向链表来维护,复杂度能降低到O(n^2)不过当时太懒了,写了个set,双向链表的写法有空再补,先挖个坑#include#include#include#include#include#include#include#include#include#include#in

2016-03-14 00:24:39 1040

原创 思维 csu1697 Surface Area of Cubes

传送门:点击打开链接题意:给一个长方体,边长分别为A,B,C。然后给n个空间位置,表示在这个位置挖一个边长为1的小正方体。求挖完n个位置后的这个立体图形的表面积。思路:看起来非常复杂,其实仔细想想非常非常的简单。首先,对于小正方体,有6个面,我们先考虑下相对的两个面。在一个相对的面里,如果两边都存在实体,那么挖走这个小正方体后表面积会+2在一个相对的面里,只有一边都存在实体,那

2016-03-14 00:18:19 1129

原创 图型dp csu1700 Black Company

传送门:点击打开链接题意:有n个人,每个人都有学历。然后m个关系,每个关系有u和v,表示u和v是朋友现在要求,如果是u和v是朋友,那么学历高的人的工资就必须比学历低的人的工资高如果u和v都是x的朋友,那么对于u和v,那么学历高的人的工资就必须比学历低的人的工资高说白了就是,通过1条边或者2条边相连的点之间,学历高的工资要更高问这样去安排工资,那么总工资最低是多少。思路:因为

2016-03-14 00:12:29 1447 2

原创 可重叠的最小路径覆盖 poj2594 Treasure Exploration

传送门:点击打开链接题意:给一个DAG模型,求最小的路径覆盖,不过这里的路径是可以重叠的。思路:我们用二分图求的最小路径覆盖的路径是不能有相交的。所以我们先去遍历一遍DAG模型,对于u点,假如能通过有向边能到达v点,那么就在u和v中间连一条有向边。对于这个新图我们再用经典的拆点法去跑最小路径覆盖,这题就算是做完了。在通过DFS建立图的时候,要注意打标记,不然枚举量会非常大。

2016-03-12 01:24:43 789 1

原创 最小路径覆盖 poj1422 Air Raid

传送门:点击打开链接题意:给一个DAG模型,要求最少的不相交的路径覆盖所有的点,即最小路径覆盖。思路:最小路径覆盖通常把点拆成入点和出点,然后得到最大匹配数,答案就等于原点个数-最大匹配数用二分图求最小路径覆盖的前提是,只能是DAG模型,不能有环!#include#include#include#include#include#include#include#incl

2016-03-12 00:58:51 756

原创 最小点覆盖 poj3041 Asteroids

传送门:点击打开链接题意:给你一个地图,里面有一些x,现在可以对着横排或者竖排开枪,可以把整排的x都打掉,问要清理完整个地图的x,至少需要多少次操作。思路:最经典的一道最小点覆盖问题,把行和列分别当作点,如果(i,j)是x,那么就把行i和列j对应的点连一条边看了别人的代码好像都是连单向边,然后直接只用了n个点,说实话有点没看懂,,我只会用2*n个节点,然后连双向边这样搞。。#inc

2016-03-12 00:46:22 687

原创 最大独立集 poj1466 Girls and Boys

传送门:点击打开链接题意:男生可能和女生有喜欢的关系,现在要分组,使得组里面没有任何两个人有喜欢的关系思路:裸最大独立集的题目,关于二分图,可以去看下另外一篇二分图总结的文章#include#include#include#include#include#include#include#include#include#include#include#include

2016-03-09 00:16:39 731

原创 树型dp Codeforces633F The Chocolate Spree

传送门:点击打开链接题意:给你一棵树,有点权,求两条不相交的路径的点权和的最大值思路:Tourist太神辣,这个代码看他的才学会的,但是他只用了10分钟敲了140行..Orz先一次DFS求出,对于所有的点u,经过这个u点到叶子的路径点权和最大值记为down[u],以及u的子树中一条路径点权和最大值记为best[u]然后用队列来处理,其实也可以用DFS来处理,那么数组就不能用全局变量

2016-03-02 11:19:46 1560

C#八数码游戏实例

C#八数码游戏实例

2016-02-14

C#计算器实例

C#写的计算器实例

2016-02-13

Android 短代码实现 最简易的画板

Android 短代码实现 最简易的画板

2015-09-07

易逍遥模块1.6.ec

逆天http模块,无需处理cookie!(只有跨域才需要保存cookie)

2015-06-13

易语言 skinh破解版

SkinH_EL.dll

2012-08-15

空空如也

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

TA关注的人

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