自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 VJ16216/RMQ/线段树

题目链接/*单点更新,用RMQ维护最大值,add对c[i]修改,或加,或减。求[l,r]的和,用sum(r)-sum(l-1).即可。*/#include<cmath>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;typedef long long LL;const int max

2016-08-30 13:15:41 402

原创 POJ 3368/RMQ

题目链接/*给出一段序列,询问[L,R]区间内最大相同数的个数。用一个很巧妙地方法,转化成求区间内的最大值的问题。RMQ维护区间最大值。MAX处理:*/ for(int i=1;i<n;i++) { if(a[i]==a[i-1]) d[i]=d[i-1]+1; else

2016-08-29 21:05:47 506

原创 POJ3264/RMQ

题目链接/*询问一段区间内的元素差值最大是多少,用RMQ维护一个最大值和一个最小值,相减即可。*/#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int maxn=50000+5;int h;int dpmax[maxn][18];int dpmin[maxn][18];

2016-08-29 13:38:51 569

原创 POJ 2182/暴力/BIT/线段树

POJ 2182暴力/*题意:一个带有权值[1,n]的序列,给出每个数的前面比该数小的数的个数,当然比一个数前面比第一个数小的个数是0,省略不写,求真正的序列。(拗口)首先想到的是从前到后暴力枚举暴力枚举。数据量为8000,O(n^2)。*/#include<cstdio>#include<iostream>#include<cstring>#include<cstdlib>#

2016-08-29 11:25:57 514

原创 HUD 1541/BIT(数状数组)

题目链接按从左到右,从下到上的顺序给出星星的坐标,计算出level为[0,n)的星星的个数。星星的level为该星星左下边(包括自己正下方的星星,但是不包括自己)星星的个数。BIT模板题。 £:把星星的下标转化成从1开始。 £:想到用BIT做。#include<cstdio>#include<cstring>#include<algorithm>using namespa

2016-08-28 15:30:49 441

原创 POJ 1308/并查集

题目链接/*判断一棵树:* 1、There is exactly one node, called the root, to which no directed edges point. * 2、Every node except the root has exactly one edge pointing to it. * 3、There is a unique sequence of d

2016-08-28 10:02:58 463

原创 Power oj2470/DFS

题目链接 2469: C 小Y的难题(1) Time Limit: 1000 MS Memory Limit: 65536 KB Total Submit: 9 Accepted: 7 Page View: 128 Submit Status Discuss Description 最近小Y迷上了数学,总是在思考各种数学问题。有一天,他不小心把墨水洒在草稿纸上。他现在能看到的是“2?3?

2016-08-14 21:06:27 486

原创 HDU 2579/BFS/ Dating with girls(2)

题目链接/*题意是是传统的迷宫加上一个条件,墙壁在k的整倍数时刻会消失,那么求到达出口的最短时间。关键点在于某个点最多被走k次,标记vis[x][y][time%k]即可。*/#include<queue>#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std

2016-08-14 10:33:56 359

原创 HDU 1072/BFS

题目链接NightmareTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 10069 Accepted Submission(s): 4910Problem Description Ignatius had a nightmare

2016-08-13 16:00:30 214

原创 POJ3321/Apple tree/(DFS序+线段树)

题目链接 Apple Tree Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9692 Accepted: 3217DescriptionWshxzt is a lovely girl. She likes apple very much. One day HX t

2016-08-12 19:48:45 401

原创 Trie/Xor

题目链接/*有一个数组a1,a2,a3……an。找到一个连续子段[l,r],使得al ^ al+1 ^……^ ar达到最大。一般思路:维护前缀异或+暴力;for(int i=1;i<=n;i++) a[i]^=a[i-1];for(int i=1;i<=n;i++) for(int j=1;j<i;i++) ans=max(ans,a[i]^a[j]);数据量

2016-08-10 16:59:28 323

原创 A New Change Problem

题目链接/*给定两个互质的数,a,b,求这两个数不能表示的数的最大值和个数。最大值=a*b-a-b;个数 =(a-1)*(b-1)/2;*/#include <set>#include <map>#include <cmath>#include <queue>#include <cstdio>#include <cstring>#include <iostream>#inc

2016-08-10 14:43:22 551

原创 Trie/最短的名字

题目链接/*简单trie树的应用,注意在初始化的时候要把cnt也初始化,不然,WA!下面的四分代码各有特点*///数组型,名字查询。#include<cstdio>#include<cstring>using namespace std;const int maxn=1000000;struct tire{ int wd[27]; int cnt; void

2016-08-10 14:33:21 432

原创 HDU1492/The number of divisors(约数) about Humble Numbers

题目连接The number of divisors(约数) about Humble NumbersTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3416 Accepted Submission(s): 1676Problem

2016-08-08 14:51:58 326

原创 HDU 2802 F(N)(简单题,找循环解)

题目链接 F(N)Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 4579 Accepted Submission(s): 1610Problem Description Giving the N, can you tell

2016-08-08 14:13:06 417

原创 覆盖问题<shui>

题目链接/*hang[maxn]标记每行是否可以被攻击,并计算前缀和lie [maxn]标记每列是否可以被攻击,并计算前缀和*/#include<cstdio> //#include<cstring>#include<iostream>using namespace std;const int maxn =100000+5;int hang[maxn];int lie[max

2016-08-07 20:28:46 407 4

原创 简单hash[或者是哈希思想]

题目链接/*有一个长度为n的只包含小写字母的字符串s,有m次操作,每次输入2个字符A , B表示将s中的全部字符A变成B,B变成A。char sky[30],顺序记录每个字母的映射,在sky[]里做改变,然后将原字符串通过sky[]得到答案。//丑*/#include<cstdio>#include<cstring>#include<map>#include<cstring>#i

2016-08-07 20:10:01 697 2

原创 最小点覆盖

题目连接/* 最小点覆盖为:在一个二分图中,选取最少的点可以把所有的变覆盖, 点的最少个数就是最小点覆盖。 最小点覆盖=最大二分匹配。 克鲁斯卡尔算法。 关于本题: £:把从零开始,转化成从一开始。 £:起点不用加入E[],因为机器的起始状态就是1,或者加入E[]但是不参加计算,(我采用的是第二种。)*/#include<cstdio>#

2016-08-07 19:47:23 2224 3

原创 求n!末尾0的个数

题目连接/*£:离散数学。£:n!中2的个数>5的个数。£:2*5=10;*/#include<cstdio>#include<cstring>#include<iostream>using namespace std;typedef long long LL;int N;int main (){ int T;scanf("%d",&T); while(T--

2016-08-07 11:21:14 317

原创 求N以内与N互质的数的和

题目连接/* 求所有小于N且与N不互质的数的和。 若:gcd(n,m)=1,那么gcd(n,n-m)=1; sum(n)=phi(n)*n/2; //sum(n)为小于n的所有与n互质的数的和 //phi(n)为小于n的所有与n互质的数的个数*/#include<cmath>#include<cstdlib>#include<vector>#i

2016-08-06 16:10:11 3383 1

原创 最小点集覆盖/HDU2119

题目连接先试一下题/?/ 最小点集覆盖=最大匹配/*根据i、j建图,跑一边最大匹配*/#include<cstdio>#include<cstring>using namespace std;const int maxn=100+5;int maze[maxn][maxn];int f[maxn];bool vis[maxn];int n,m,ans=0;bool machin

2016-08-04 15:16:03 582

转载 最小点集覆盖=最大匹配<二分图>/证明

最小点集覆盖==最大匹配。首先,最小点集覆盖一定>=最大匹配,因为假设最大匹配为n,那么我们就得到了n条互不相邻的边,光覆盖这些边就要用到n个点。现在我们来思考为什么最小点击覆盖一定<=最大匹配。任何一种n个点的最小点集覆盖,一定可以转化成一个n的最大匹配。因为最小点集覆盖中的每个点都能找到至少一条只有一个端点在点集中的边。如果找不到则说明该点所有的边的另外一个端点都被覆盖,所以该点则没必要被覆

2016-08-04 14:41:10 644

原创 拓扑排序<反向拓扑+有向环的判断>

题目链接#include <set>#include <map>#include <cmath>#include <queue>#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>typedef long long LL;using namespace std;const int i

2016-08-02 20:53:57 895

空空如也

空空如也

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

TA关注的人

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