自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ONE MORE TRY

把该做的做好就好了!

  • 博客(821)
  • 问答 (2)
  • 收藏
  • 关注

原创 PAT L2-014【二分】

思路:最后发现对当前列车比我大的编号的栈有没有就好了,所以开个vector存一下,然后二分一下vector找一下第一个比我大的数就好了#include using namespace std;typedef long long LL;const int N=1e5+10;int n,a[N];vectorq;int main(){ scanf("%d",&n); for

2017-03-24 14:43:29 298

原创 CodeForces 137C【贪心+优先队列】

这种区间的贪心好像都出“烂”了?不过还是想写一下。。。先按照区间左端点排序一下,然后搞个优先队列维护当前最小的右端点。#include using namespace std;typedef long long LL;const int N=1e5+10; struct asd{ int x,y;}q[N];bool cmp(asd a, asd b){ if(a

2017-03-23 00:09:11 546

原创 CodeForces 131D【图特性+BFS】

题意:只有一个环,然后环都是0(环缩点相当于树的根),然后其余的输出到根的距离思路:可以从度为1的 开始搜 把那些分支全标记掉,然后再取没有标记掉的,BFS一下搞出距离。具体这个标记:倒着搜这样肯定没有多对一,标记掉度等于2的那些点就好了,度>2的要减减,而且环里的点的度不可能搜到度 = 2 因为环=点的度为2,他又连出一条边 度=3。后话:这种n个点 n条边/n-1条

2017-03-23 00:02:09 595

原创 CodeForces 125D【鸽巢原理】

yep.

2017-03-22 00:05:27 771 2

原创 PAT1060【大模拟啊】

怎么麻烦怎么来了???提供几个案例:5 0.00001 0.000010 0.0 0.02221 0.001 0.20002 005.06 0.2301 00.020 0贴份代码跑。。#include using namespace std;typedef long long LL;int n,m;string s1,s2;string a,b

2017-03-22 00:02:52 441

原创 CodeForces 124C【连通块】

思路:a素数->b合数c素数->b合数a,c属于一类so,预处理相同的,并且计数。1000怎么搞都无压力;我这里也预处理了字母个数,从集合大的枚举下来,每次拿字母个数最多的去匹配。#include using namespace std;typedef long long LL;const int N=1e3+10;bool isprime(int x){

2017-03-21 22:54:48 656

原创 PAT 1071【STL string应用】

1.单case很多清空没必要的2.string+ char 最好用pushback3.string +string就直接+#include using namespace std;typedef long long LL;const int N=2e6+10;map mp;string temp,res;int num;string s;int

2017-03-21 22:50:07 633

原创 CodeForces 116C 【BFS】

思路:求所有树的最大高度?注意:所有树从树根开始?#include using namespace std;typedef long long LL;struct asd{ int to; int next;}e[2500];int head[2500],tol;int pre[2500];int n;void add(int u,int v){ e[

2017-03-20 22:38:02 483

原创 CodeForces 116B【二分匹配】

思路:暴力。。我不会呀。。YY一个二分匹配嘛,然后数组开小了。GG for an hour.#include using namespace std;typedef long long LL;int cy[110];int cx[110];int n,m;char ma[15][15];int g[15][15];int mma[110][110];int dx[

2017-03-20 22:29:16 480

原创 CodeForces 118C 【模拟】

思路:枚举0-9之间的数,然后判断。然后一鼓作气打成了大模拟。。。。我日啊。。。心疼自己。#include using namespace std;typedef long long LL;const int N=1e4+10;int n,k;char s[N],ss[N];int num[19];int cnt[19],len;int all[N][15];

2017-03-20 22:27:07 191

原创 二分图中的匹配

问题一(未完):考虑n行m列的棋盘,其某些方格禁止落子。能够被放到棋盘上的非攻击型车的最多个数。考虑4行5列的棋盘,其落子位置如下表: y1y2y3y4y5x1 *   x2  * *x3* * *x4*    

2017-03-20 00:56:52 291

原创 CodeForces 110C 【构造】

思路:7越多越好,然后从7最多个数枚举过去,判断一下剩下的能不能用4解决就好了;#include using namespace std;typedef long long LL;int main(){ int m,n; scanf("%d",&n); int q=n/7; for(int i=q;i>=0;i--) {

2017-03-20 00:09:18 400

原创 CodeForces 114B 【STL应用】

yep.

2017-03-20 00:07:21 98

原创 CodeForces 106C 【DP】

题意:n g dough  m种商品?每种有ai stuffing, 拿bi stuffing + ci dough -> di tugriksrest c0 dough -> d0 tugriks求最大的tugriks思路:dough是爸爸,dp[i] 代表 在花费 i 情况下 前 j 个 商品的最大。枚举在 k g dough 下的各种收入情况,取最大;大致

2017-03-20 00:03:49 426

原创 PAT 1043【BST与二叉树】

nice.

2017-03-19 10:22:49 522

原创 PTA 1045【DP】

思路:DP[ i ] 代表以值 i 结尾的当前最长长度。每次枚举序列数组,dp[ i ] = max( dp[ i ] ,dp[ a[j] ] + 1);#include using namespace std;typedef long long LL;const int N=2e2+10;int n,m;int a[N],id[N];int dp[N],x;int m

2017-03-19 09:37:59 378

原创 51nod1419 【数学】

思路:n考虑n>3:我们可以轻松证明n,n-1这两个数互质:设gcd(n,n-1)=g,n=g*k1,n-1=g*k2;n-(n-1)=g(k1-k2)=1;所以 g=1.当n,n-2互质就更好了,n*(n-1)*(n-2)最大呀。设gcd(n,n-2)=g,n=g*k1,n-2=g*k2;n-(n-2)=g(k1-k2)=2; 得g很好发现,g要么是1

2017-03-18 22:20:34 418

原创 Codeforces 92C【二分】

yep.

2017-03-18 11:30:32 418

原创 CodeForces 104C【树特性】

题意:判断这副图是否满足根是一个环的缩点,然后其余点都是一个点,满足树特性。思路:一开始就像无向图缩点乱搞,然后实在太烦搞不下去。。。。一副图是满足结点和边数量相等,且连通,则一定有一个环。so...实际代码只有判连通= =#include using namespace std;typedef long long LL;const int N=1e2+10;int

2017-03-17 23:02:58 385

原创 Codeforces Beta Round #71 C【KMP+DP】

yep.

2017-03-16 21:27:56 471

原创 PAT1089【归并排序】

这题略。。。恶心。。他说归并排序依次是相邻有序两块合并,而一向打惯了递归???#include using namespace std;typedef long long LL;const int N=1e2+10;int b[N];void Merge(int a[], int temp[], int Left, int Mid, int Right){ int

2017-03-15 00:14:31 405

原创 PAT L2-006【二叉树中序后序构造树】

#includeusing namespace std;typedef long long LL;struct BT{ int w; BT *L; BT *R;};BT* Creat(int *post,int *in,int n){ BT* p; for(int i=0;i<n;i++) { if(post[n-1]==in[i]) { p=(BT*)m

2017-03-13 23:13:09 355

原创 最小堆【总结附简易代码】

yes, very good.

2017-03-13 12:39:32 714

原创 PAT12-012【建最小堆】

卧槽。。没看清 值 还有负的。。PS: 注意他说是一个一个插入的,也就是插在完全二叉树的最末位置,然后向上更新。#includeusing namespace std;typedef long long LL;int a[1010];void BuildMinHeap(int n){ for(int i=1;i<=n;i++) { scanf("%d",&a[i]);

2017-03-13 00:44:47 380

原创 PAT1098【插入排序+堆排序】

very yes.

2017-03-12 16:55:20 448

原创 PAT 1087【二级最短路】

二级最短路+二级最短路,就是DP过程吧。代码稍微注释一些,毕竟贴代码不好。。#includeusing namespace std;typedef long long LL;const int INF=0x3f3f3f3f;const int N=4e4+10;struct asd{ int cost; int to; int next;}e[N];int head[2

2017-03-11 11:13:34 529

原创 Codeforces570C 【简单标记】

题意:给定一个长为n的字符串(包含小写字母和’.’),有m次操作每次操作可以修改字符,并询问修改后有多少对相邻的’.’思路:标记。#includeusing namespace std;typedef long long LL;const int N=3e5+10;bool vis[N];char s[N];int n,m,len,ans,x;int main()

2017-03-10 17:59:49 450

原创 数据结构题

hzwer's blog音乐会的等待【单调栈】铁轨+卡片游戏【栈+队列】Codeforces570C【标记】

2017-03-10 17:58:30 126

原创 铁轨+卡片游戏【栈+队列】

1280: 铁轨时间限制: 1 Sec  内存限制: 128 MB提交: 118  解决: 59[提交][状态][讨论版]题目描述    某城市有一个火车站,铁轨铺设如图所示。有n节车厢从A方向驶入车站,按进站顺序编号为1~n。你的任务是让它们按照某种特定的顺序进入B方向的铁轨并驶出车站。为了重组车厢,你可以借助中转站C。这是一个可以停放任意多节车厢的车站,但由于末端封顶,

2017-03-10 16:53:25 577

原创 音乐会的等待【单调栈】

1308: 音乐会的等待时间限制: 1 Sec  内存限制: 128 MB提交: 297  解决: 89[提交][状态][讨论版]题目描述  N个人正在排队进入一个音乐会。人们等得很无聊,于是他们开始转来转去,想在队伍里寻找自己的熟人。队列中任意两个人A和B,如果他们是相邻或他们之间没有人比A或B高,那么他们是可以互相看得见的。  写一个程序计算出有多少对人可以互相看见

2017-03-10 16:49:50 979

原创 51nod1202【DP-树状数组维护】

思路:DP[i]代表从1 到 i 以 a[i] 为末尾的子序列个数,dp[i]=dp[i]+dp[j](a[i]!=a[j]) +1利用树状数组维护以值 a[i] 结尾的子序列个数。 #includeusing namespace std;typedef long long LL;const LL mod=1e9+7;const int N=1e5+10;LL c[N];

2017-03-10 00:13:31 377

原创 51nod1113【矩阵快速幂】

思路:裸的矩阵快速幂,读完题,感觉有点对不起四级算法题这一类。#includeusing namespace std;typedef long long LL;const LL mod=1e9+7;int n;struct asd{ LL a[102][102];};asd mul(asd x,asd y){ asd ans; memset(ans.a,0,size

2017-03-09 23:43:40 456

原创 51nod1255【贪心-栈的应用】

思路:大体可以看到:大的越后面越好,但是首先要保证如果他对于一个比他小的字符后面存在他。主要操作就是利用栈,每次对栈里的元素询问是否比他大,且他的后面还存在。#includeusing namespace std;char s[100010];int len,num[27];bool vis[27];stackq;vectorxs;int main(){ xs.cle

2017-03-09 23:17:30 438

原创 Lightoj1059【最小生成树】

题意:使得所有的位置都能通向一个机场,问最小花费。思路: 最小生成树。本来还想标记一下没有出现过的点,其实那个数组已经解决了。==。 PS:注意路比建造机场还贵?直接造机场得了?if there are several answers with minimal cost, choose the one that maximizes the number of airport

2017-03-09 20:12:21 133

原创 SPOJ IAPCR2F 【并查集】

思路:利用并查集/DFS都可以处理连通问题。PS:注意Find()查找值和pre[]值的区别。#includeusing namespace std;const int N=1e3+10;int val[N];int pre[N],n,m;vectorxs,ans;int Find(int x){ int r=x; while(pre[r]!=r) r

2017-03-08 23:23:39 395

原创 SPOJ SERGRID 【BFS】

思路:在一个方向上走K步,基础BFS。注意标记;注意路径;PS:显著注释是记录路径。#includeusing namespace std;const int N=5e2+10;char ma[N][N];bool vis[N][N];int dx[4]={0,0,-1,1};int dy[4]={1,-1,0,0};/***************///in

2017-03-08 23:21:30 433

原创 Lightoj1007【欧拉函数-素数表】

基础题。PS:注意unsigned long long; 以及%llu#includeusing namespace std;typedef unsigned long long ULL;typedef long long LL; const int N=5e6+10;bool isprime[N];ULL res[N];void init(){ res[1]

2017-03-08 21:43:42 372

原创 lightoj1009【DFS】

思路:连通快+二分图,每次+二分图大的元素个数。#includeusing namespace std;typedef unsigned long long ULL;typedef long long LL;const int N=2e4+10;bool ex[N],vis[N];vectore[N];int n,au,av; void DFS(int u,int fla

2017-03-08 21:41:24 141

原创 lightoj1010【规律】

思路:根据案例的规律其实已经猜的差不多了,answer=n*m/2;有一条边是1的情况,也很好判断,answer=n*m;就是有一条边是2的时候比较隐秘:是连续2*2一块可以填,然后2*2不填,没想出总结的公式,就直接模拟了。#includeusing namespace std;typedef unsigned long long ULL;typedef long long

2017-03-08 21:39:21 570

原创 Lightoj1028【计算约数个数】

思路:最终就是求一个数的约数(除了1)对吧.然后想要枚举sqrt(N)受阻,枚举素数数组受阻,加上prime[i]*prime[i]#include using namespace std;typedef long long LL;LL prime[1000100];bool IsPrime[1000100];int num;void init_prime(){

2017-03-06 20:36:27 608

空空如也

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

TA关注的人

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