- 博客(13)
- 收藏
- 关注
原创 poj 3468-线段树
题解;暴力线段树肯定超时,这里只能采用”继承”方式将父亲增加的值传给儿子细化操作。代码#include#include#include#include#include#include#define lson l,mid,rt<<1#define rson mid+1,r,rt<<1|1using namespace std;typedef long long ll;
2017-06-19 21:23:05 283
原创 给定两个整数 l 和 r ,对于所有满足1 ≤ l ≤ x ≤ r ≤ 10^9 的 x ,把 x 的所有约数全部写下来。对于每个写下来的数,只保留最高位的那个数码。求1~9每个数码出现的次数。
题解:以1为例 枚举1-1,10-19,100-199,....每次从右界开始求出商k,根据公式求出此点左边最近的一点使得商为k+1,若d=1,则左边点不存在k+1,ans可以加上k*d的距离,然后跳过这段距离。代码:#include#include#include#include#includeusing namespace std;typedef long long
2017-06-18 13:00:02 4929
原创 hdu 1505-左右界数组
题目链接:点击打开链接题解:跟hdu 1506基本相同,只是要多加一个循环用二维的。代码:#include#include#include#includeusing namespace std;typedef long long ll; const int mx=1e3+10;int n,m,fron[mx],back[mx],r[mx][mx];char ma
2017-06-13 22:29:17 279
原创 hdu 1506-左右界数组
题目链接:点击打开链接题解:预先处理连续大于这个点值的左界和右界,用这个点的值乘上左右界差。代码::#include#include#include#includeusing namespace std;typedef long long ll; const int mx=1e5+10;int n,m,fron[mx],back[mx],num[mx];
2017-06-13 21:13:03 212
原创 hdu 1510-O(n^3)枚举
题目链接:点击打开链接题解:预先处理好每个点向上延伸的最长长度,然后枚举每个点,向左去最小高度,然后加上就OK了;代码:#include#include#include#include#includeusing namespace std;typedef long long ll;const int mx = 2e2+10;int r[mx][mx],n
2017-06-12 20:40:28 379
原创 hdu 1181-dfs
题目链接:点击打开链接题解:暴力dfs解决代码:#include#include#include#include#includeusing namespace std;typedef long long ll;const int mx = 1e3+10;int root,tot;char str[mx];vector vec[26];bool vis[
2017-06-09 21:33:05 246
原创 hdu 5769-后缀数组
题目链接:点击打开链接题解:利用后缀数组处理排名,枚举每个位置的后面离它最近的一个X位置和这个位置+height[i]取max(这就可以避免重复),然后用len-这个位置后面还有的数量就行了。代码:#include#include#include#include#includeusing namespace std;typedef long long ll;c
2017-06-09 20:38:12 259
原创 hdu 3065-AC自动机
题目链接:点击打开链接题解:可以重复增加子串的AC自动机经典入门#include#include#include#include#includeusing namespace std;typedef long long ll;const int mx = 1e5+10;int n,m,root,tot;int nxt[mx][26],fail[mx],ke
2017-06-08 22:32:28 183
原创 hdu 2222 -AC自动机入门
题目链接:点击打开链接解题:经典AC自动机题目代码:#include<iostream>#include<algorithm>#include<stdio.h>#include<string.h>#include<queue>using namespace std;typedef long lo...
2017-06-08 17:27:02 262
原创 hdu 2717-bfs
解题思路:这题注意当位置大于牛位置时,x+1,x*2是不可取得,然后bfs即可。代码:#include#include#include#include#include#includeconst int mx=1e5+10,co[4][2]={1,0,0,1,-1,0,0,-1},inf = 1e9;typedef long long ll;using namespa
2017-06-03 12:35:56 428
原创 hdu 2612-bfs
解题思路:数据小,分两次bfs,暴力求解代码:#include#include#include#include#include#includeconst int mx=3e2+10,co[4][2]={1,0,0,1,-1,0,0,-1},inf = 1e9;typedef long long ll;using namespace std;char map[mx]
2017-06-03 11:47:18 348
原创 uva 11624-bfs
解题思路:本题坑爹就是着火点数量,一开始还以为只有一个。。。,先将着火点放入队列中,最后放人在的点,然后进行bfs就行了。代码:#include#include#include#include#include#includeconst int mx=1e3+10,co[4][2]={1,0,0,1,-1,0,0,-1};;typedef long long ll;u
2017-06-02 23:56:51 243
原创 2017 World Final专题
C:二分匹配使得至多的行列要求相同最多在同一个位置#include<iostream>#include<cstring> #include<iostream>#include<cstdio>#include<vector>#include<cmath>#include<queue>#inc...
2017-06-01 22:49:14 2671
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人