自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Grit_ICPC的博客

凡物之骤为之而追成焉者,其器小也;物之一览而易尽者,其中无有也

  • 博客(22)
  • 资源 (4)
  • 收藏
  • 关注

原创 POJ 2777Count Color (线段树区间更新 + 位运算压缩)

大意:给定长度l的木板,m种颜色,k个操作,询问时木板有多少种颜色?思路:直接给区间染色不容易那么可以间接的化成多少个2相乘的形式,向上给父区间更新的时候直接|,(若相同则不加,否则相加最后求1的个数)。#include<cstdio>#include<cmath>#include<cstring>#include<string>#include<algorithm>#define ls

2016-02-27 09:49:24 400

原创 SDUT 1867 最短路径问题 (Floyd 多源)

#include<map>#include<queue>#include<cmath>#include<iostream>#include<cstdio>#include<stack>#include<cstring>#include<algorithm>#define LL int#define inf 0x3f3f3f3f#define ls l,mid,rt<<1#def

2016-02-26 16:10:26 534

原创 线段树区间更新延迟标记

A Simple Problem with Integers Time Limit : 10000/5000ms (Java/Other) Memory Limit : 262144/131072K (Java/Other)Total Submission(s) : 50 Accepted Submission(s) : 23Problem Description You have N

2016-02-26 15:29:54 623

原创 POJ 2828 Buy Tickets(线段树单点更新)

大意:有n个人在排队,接下来n行每行有两个数 k,m分别代表m要插在第k个人的后边,求最终的序列。思路:先建立区间树,然后进行区间缩减,如果正者建图的话,有可能被其他的数挤下去,所以可以从后向前建树,这样就是个稳定的序列了,注意在查询的时候向右子区间取得时候应当改变存放位置,为当前区间的x-sum[rt<<1].#include<map>#include<queue>#include<cmath

2016-02-26 11:08:55 447

原创 POJ 3252 Round Numbers (数论&&组合)

大意:求解n~m所有数中把十进制换成二进制中0的个数大于1的个数。思路:数据较大,指定不能直接暴力跑,根据排列组合可以进行处理。我们可以先用杨辉三角打表。 找到比当前数小并且满足num0>=num1. 那么就可以分为两种情况: 1、二进制数比当前的二进制数目少时,那么可以第一位的二进制为1,剩下的二进制进行排列组合;同时保证0的个数>=1的个数所以至少1的个数是从0开始到(i-1)/2(

2016-02-25 15:39:58 462

原创 HDU 1069 (累积木)

大意:有n种积木,每种有无限多个,问面积大在下,小在上,最高能有多高。思路:给定无限种其实最多每种有三个积木可以用,然后进行面积的排序(面积或边长排序),进行DP(注意dp时条件为下边两边长一定大于上面两边长,一次不能按照面积排)。#include<map>#include<queue>#include<cmath>#include<iostream>#include<cstdio>#in

2016-02-25 09:22:47 896

原创 HDU 4001 To Miss Our Children Time(DP LIS)

题目大意:给定一些木块的长宽高及其编号, 1、如果编号为0,则应该满足当前木块长(&&宽)>=下边的木块长(宽) 2、如果编号为1,则应该满足当前木块长(&&宽)>=下边的木块长(宽)&&面积也比下边木块面积大 3、如果编号为0,则应该满足当前木块长(&&宽)>下边的木块长(宽)思路:类似于DP的LIS只不过求得是高度,输入数据后注意排序并且结构体的所有成员都要排序,注意在数据都不符合条件的时

2016-02-24 14:21:53 423

原创 POJ 1463 ||HDU 1054 Strategic game(二分图最小顶点覆盖)

思路:直接跑一个KM,最后答案/2#include<map>#include<queue>#include<cmath>#include<iostream>#include<cstdio>#include<stack>#include<cstring>#include<algorithm>#define LL __int64#define inf 0x3f3f3f3fconst

2016-02-24 11:21:24 471

原创 POJ 1182 食物链(加权并查集)

思路:如果比较两动物之间的关系的话,肯定需要判断一下是否有关系,然后又有什么关系,这个有什么关系的话可以用一个r[]数组表示。如果两动物有关系k==1&&r[a]!=r[b]一定是假话,k==2,那么r[a]的级别一定是r[b]之前即(r[a]+1)%3==r[b],否则是假话。如果两者没关系,那么去创建并查集f[]和r[]. 一、要合并首先要查找两者祖先,同时在查找祖先,将经过的节点

2016-02-24 09:35:19 405

原创 POJ 3267 The Cow Lexicon(DP单词匹配)

题目大意:给定一个长序列长度m,接着n个单词,问最少能删除多少语句中的字符使得在n个单词中选若干个,可以使得凑出当前序列。思路:既然是在序列中,删除一部分多余的单词,使得凑成选出的某些单词。所以,1、可以用dp[i]表示在i~m中能够删除序列中的最小数目(初始化DP[m]=0,从后向前匹配)。2、状态转移方程分为两种情况:a.不能够匹配(这种情况就是最坏的删除所有的从i~m的单词dp[i]=dp[i

2016-02-21 16:22:04 395

原创 HDU 4751 Divide Groups(判断二分图)

大意:第I行有若干个数k,且以0作为结尾,含义是第I人和k认识,(但是k不一定认识I)。问能不能将相互认识的人分两组。思路:就是判断二分图,建图是两个不相认识的人相连(不连接就是认识的)。#include<map>#include<queue>#include<cmath>#include<iostream>#include<cstdio>#include<stack>#include

2016-02-21 10:39:17 476

原创 HDU 5631 Rikka with Graph(并查集)

大意:有n个点n+1条边,问删边并且使图联通。思路:并查集盘联通,注意就是最多删两条边。(不能建完图在删边,所以,要删的边一定是要建的图,枚举所有的即可)#include<map>#include<queue>#include<cmath>#include<iostream>#include<cstdio>#include<stack>#include<cstring>#include

2016-02-20 22:16:18 458

原创 HDU 2444 The Accomodation of Students(判断二分图&染色法)

题目大意:给定一些关系,问能有没有最大匹配。思路:二分图匹配,用染色法判断奇环(因为二分图不会有奇环)#include<map>#include<queue>#include<cmath>#include<iostream>#include<cstdio>#include<stack>#include<cstring>#include<algorithm>#define LL lon

2016-02-20 15:13:10 360

原创 Codeforces C - Bear and String Distance (贪心)

大意:给定一个长度为n的字符串,输出相差为m的字符串(任何一个),不存在为-1.思路:就是一个贪心,最值为当前字符到a或z的最大值的和。前边进行a,z,a,z的匹配,满足跳出条件前直接将当前的字符向前后者向后移动。最后字符长度直接拉下来即可- -。#include<map>#include<queue>#include<cmath>#include<iostream>#include<cs

2016-02-20 11:08:45 447

原创 POJ 1523 SPF(Tarjan 求解连通分量)

题目大意:给定的通信设备之间的关系,问有没有割点,并输出去掉割点后的连通分量的个数。思路:裸的Trajan求解割点,当某个点为割点的条件是low[v]>=dfn[u],或者是根节点且孩子的数目>=2。连通分量的个数=符合条件孩子数目+1.#include<map>#include<queue>#include<cmath>#include<iostream>#include<cstdio>

2016-02-19 19:51:49 448

原创 SKILLS

想得到某个数的后边若干位数,直接取余即可。

2016-02-19 15:19:11 351

原创 codeforces 630 K. Indivisibility

问1~n内有多少数能被2~4中任意一个数整除。容斥原理。那么问题可以简化成四个数的容斥,即2 3 5 7,(忽略倍数的情况)。那么有公式a+b+c+d-ab-ac-ad-bc-bd-cd+abc+abd+acd+bcd-abcd#include<map>#include<queue>#include<cmath>#include<iostream>#include<cstdio>#incl

2016-02-19 10:37:54 440

原创 一个序列中有多少个子序列的两头是大于两端值的

示例输入 4 1 0 0 1 1 2 2 1 1 0 1 2 0 2 0 1 2 4 3 1 3 4 5 2 1 0 3 0 1 2 4 4 1 0 2 4 1 0 0 4 0 1 2 3 4 5 6 7 8 9 10 0 示例输出 1 4 2 8 3 6 4 10思路:直接枚举找当前序列最小值然后比较两端的数是不是小于这个最小值。#include<map>#include<q

2016-02-19 09:35:31 604

原创 Organize Your Train part II POJ 3007 (哈希&链式解决冲突)

题目大意:将一个字符串分解成任意的两部分,且两部的串及其反串相互组合,看能有多少种组合方式。思路:(用map超时- -,结果换成哈希险过)。#include<map>#include<queue>#include<cmath>#include<iostream>#include<cstdio>#include<stack>#include<cstring>#include<algori

2016-02-18 20:33:15 952

原创 Surprising Strings POJ 3096 (暴力+map)

题目大意:每次跳动增加1个间隔,问有没有相同的两个字母组成的串。思路:直接两层循环,标记有没有出现即可。#include<map>#include<queue>#include<cmath>#include<iostream>#include<cstdio>#include<stack>#include<cstring>#include<algorithm>#define inf 0

2016-02-18 14:54:32 341

原创 Pie POJ 3122(二分找最值)

题目大意:给定n,f分别为Pie的数量和朋友的数量,接下来是Pie的半径,求在每个朋友只能拿一块蛋糕的条件下,能分得的最大体积的Pie是多少。思路:直接二分体积,(PS:注意二分之后枚举区间的移动l=mid,r=mid!不要写成没有精度问题时的l=mid+1,PI=acos(-1.0)). 判断枚举区间的位置依据条件当前的体积可以够多少人分的。#include<map>#include<queu

2016-02-18 14:17:00 402

原创 unbuntu 下的vim的使用和编译

先在终端中输入     vim test.c      回车进入vim编辑器,再按一下a键,进入编辑状态,然后输入如下C语言语句:#includeint main() {printf("hello world!\n");}到此,按esc键退出编辑状态,再输入一个冒号(shift + 冒号分号那个键),紧跟着输入 wq ,即 输入  :wq 按回车,即推出

2016-02-17 15:26:32 1134

orecal考试试题

Orecal的JAVA证书考试原题,需要的同志建议看一下!!

2018-11-03

rar密码破解

密码破解

2017-06-23

根据浏览器宽度调整布局

根据浏览器宽度调整布局

2016-04-13

压缩录频软件

录频软件,简单易操作,画质较好,方便快捷

2015-12-29

空空如也

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

TA关注的人

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