摘要: 题解: 首先判断m的大小,如果m>3*n-6,则一定没有平面图. 然后我们先将环扣出来,我们发现对于环上的两条边有交的话,那么这两条边就不能在环的同侧,所以我们就可以将边看作点,判断是否是二分图即可,连边由于m<=3*n-6,所以我们暴力连边就行了. 阅读全文
posted @ 2017-12-21 17:42 楼主大大 阅读(188) 评论(0) 推荐(1) 编辑
摘要: 题解: 用splay维护添加修改操作,然后二分hash判断长度. 操作一:对于查询区间[l,r]的hash值,显然将l-1旋到根,将r+1旋到根的右儿子,此时所求区间就是根的右儿子的左儿子了. 操作二:将要修改的位置旋到根,然后直接改就可以了. 操作三:要在x后面添加一个字符,显然将x旋到根,x+1 阅读全文
posted @ 2017-12-21 17:35 楼主大大 阅读(180) 评论(0) 推荐(1) 编辑
摘要: 题解:首先设置一个状态dp[i][j]表示到达位置i高度为j的最小点击次数。 我们讨论一下: 在i-1为位置跳的情况 (1) cap[i][j]=min(cap[i][j],cap[i-1][j-up[i-1]]+1);//由i-1位置跳一次而来 cap[i][j]=min(cap[i][j],ca 阅读全文
posted @ 2017-08-01 14:21 楼主大大 阅读(405) 评论(3) 推荐(2) 编辑
摘要: 题解:贪心策略 使用一次加速器,只会对当前第i站车上的乘客以及已经到第i+1站的乘客做出贡献,每次贪心寻找到最优的站台加速即可。 #include<iostream> #include<cstdlib> #include<cstdio> #include<cmath> #include<algori 阅读全文
posted @ 2017-08-01 11:39 楼主大大 阅读(612) 评论(15) 推荐(1) 编辑