08 2016 档案
摘要:题目链接 /* 单点更新,用RMQ维护最大值,add对c[i]修改,或加,或减。 求[l,r]的和,用sum(r)-sum(l-1).即可。 */ #include<cmath> #include<cstdio> #include<cstring> #include<algorithm> using
阅读全文
摘要:题目链接[http://poj.org/problem?id=3368] 给出一段序列,询问[L,R]区间内最大相同数的个数。用一个很巧妙地方法,转化成求区间内的最大值的问题。RMQ维护区间最大值。MAX处理:*/ for(int i = 1; i < n; i++) { if(a[i] == a[
阅读全文
摘要:题目链接/*询问一段区间内的元素差值最大是多少,用RMQ维护一个最大值和一个最小值,相减即可。*/#include#include#includeusing namespace std;const int maxn=50000+5;int h;int dpmax[maxn][18]...
阅读全文
摘要:POJ 2182暴力/*题意:一个带有权值[1,n]的序列,给出每个数的前面比该数小的数的个数,当然比一个数前面比第一个数小的个数是0,省略不写,求真正的序列。(拗口)首先想到的是从前到后暴力枚举暴力枚举。数据量为8000,O(n^2)。*/#include#include#inc...
阅读全文
摘要:题目链接/*按从左到右,从下到上的顺序给出星星的坐标,计算出level为[0,n)的星星的个数。星星的level为该星星左下边(包括自己正下方的星星,但是不包括自己)星星的个数。BIT模板题。 £:把星星的下标转化成从1开始。 £:想到用BIT做。*/#include#...
阅读全文
摘要:题目链接/*判断一棵树:* 1、There is exactly one node, called the root, to which no directed edges point. * 2、Every node except the root has exactly one ...
阅读全文
摘要:题目链接 2469: C 小Y的难题(1) Time Limit: 1000 MS Memory Limit: 65536 KB Total Submit: 9 Accepted: 7 Page View: 128 Submit Status Discuss Descriptio...
阅读全文
摘要:题目链接/*题意是是传统的迷宫加上一个条件,墙壁在k的整倍数时刻会消失,那么求到达出口的最短时间。关键点在于某个点最多被走k次,标记vis[x][y][time%k]即可。*/#include#include#include#include#includeusing namespa...
阅读全文
摘要:题目链接NightmareTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 10069 Accepted Submi...
阅读全文
摘要:题目链接 Apple Tree Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9692 Accepted: 3217DescriptionWshxzt ...
阅读全文
摘要:题目链接/*有一个数组a1,a2,a3……an。找到一个连续子段[l,r],使得al ^ al+1 ^……^ ar达到最大。一般思路:维护前缀异或+暴力;for(int i=1;i#include#include#includeusing namespace std;const i...
阅读全文
摘要:题目链接/*给定两个互质的数,a,b,求这两个数不能表示的数的最大值和个数。最大值=a*b-a-b;个数 =(a-1)*(b-1)/2;*/#include #include #include #include #include #include #include #includ...
阅读全文
摘要:题目链接/*简单trie树的应用,注意在初始化的时候要把cnt也初始化,不然,WA!下面的四分代码各有特点*///数组型,名字查询。#include#includeusing namespace std;const int maxn=1000000;struct tire{ ...
阅读全文
摘要:题目连接The number of divisors(约数) about Humble NumbersTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
阅读全文
摘要:题目链接 F(N)Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 4579 Accepted Submission...
阅读全文
摘要:题目链接/*hang[maxn]标记每行是否可以被攻击,并计算前缀和lie [maxn]标记每列是否可以被攻击,并计算前缀和*/#include //#include#includeusing namespace std;const int maxn =100000+5;int...
阅读全文
摘要:题目链接/*有一个长度为n的只包含小写字母的字符串s,有m次操作,每次输入2个字符A , B表示将s中的全部字符A变成B,B变成A。char sky[30],顺序记录每个字母的映射,在sky[]里做改变,然后将原字符串通过sky[]得到答案。//丑*/#include#includ...
阅读全文
摘要:题目连接/* 最小点覆盖为:在一个二分图中,选取最少的点可以把所有的变覆盖, 点的最少个数就是最小点覆盖。 最小点覆盖=最大二分匹配。 克鲁斯卡尔算法。 关于本题: £:把从零开始,转化成从一开始。 £:起点不用加入E[],因为机器的起始状...
阅读全文
摘要:题目连接/*£:离散数学。£:n!中2的个数>5的个数。£:2*5=10;*/#include#include#includeusing namespace std;typedef long long LL;int N;int main (){ int T;scanf("%...
阅读全文
摘要:题目连接/* 求所有小于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互质的数的个数*...
阅读全文
摘要:题目连接先试一下题/?/ 最小点集覆盖=最大匹配/*根据i、j建图,跑一边最大匹配*/#include#includeusing namespace std;const int maxn=100+5;int maze[maxn][maxn];int f[maxn];bool vis...
阅读全文
摘要:来源 最小点集覆盖==最大匹配。首先,最小点集覆盖一定>=最大匹配,因为假设最大匹配为n,那么我们就得到了n条互不相邻的边,光覆盖这些边就要用到n个点。现在我们来思考为什么最小点击覆盖一定<=最大匹配。任何一种n个点的最小点集覆盖,一定可以转化成一个n的最大匹配。因为最小点集覆盖中...
阅读全文
摘要:题目链接#include #include #include #include #include #include #include #include typedef long long LL;using namespace std;const int inf=INT_MAX;c...
阅读全文

浙公网安备 33010602011771号