摘要: 尺取法解题步骤:head=tail=0;while(1){①while(当前区间不满足约束&&tail<n) {tail后移;更新区间信息;}②if(当前区间不满足约束) break;③更新ans;④head后移;更新区间信息;} 阅读全文
posted @ 2014-11-06 07:54 AutSky_JadeK 阅读(342) 评论(0) 推荐(0)
摘要: 分块,离散化,预处理出:①前i块中x出现的次数(差分);②第i块到第j块中的众数是谁,出现了多少次。询问的时候,对于整块的部分直接获得答案;对于零散的部分,暴力统计每个数出现的次数,加上差分的结果,尝试更新ans。 1 #include 2 #include 3 #include 4 #in... 阅读全文
posted @ 2014-11-05 20:31 AutSky_JadeK 阅读(249) 评论(0) 推荐(0)
摘要: 详细的题解:http://www.docin.com/p-517243379.html一个图是二分图 等价于 其至少有两个节点且没有奇环。二分图判定的方法:从任意点出发进行一次dfs黑白染色,若某个点之前已经访问过(vis[v]==1)且color[v]==color[u],则存在奇环。 1 #in... 阅读全文
posted @ 2014-11-05 17:37 AutSky_JadeK 阅读(195) 评论(0) 推荐(0)
摘要: 裸的分层图最短路。 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 #define N 51 7 #define K 51 8 #define M 2001 9 struct Point{int u,d;Poi... 阅读全文
posted @ 2014-11-05 15:43 AutSky_JadeK 阅读(272) 评论(0) 推荐(0)
摘要: spfa最短路+判负权回路(是否某个点入队超过n次)。 1 #include 2 #include 3 #include 4 using namespace std; 5 #define M 20001 6 #define N 1001 7 int n,m,x,y,w1,w2; 8 int v[M]... 阅读全文
posted @ 2014-11-05 14:23 AutSky_JadeK 阅读(244) 评论(0) 推荐(0)
摘要: 分块90分。 By AutSky_JadeK 【重点在下面】 1 #include 2 #include 3 using namespace std; 4 #define N 1000001 5 #define INF 2147483647 6 #define min(a,b) (((a)'9')C... 阅读全文
posted @ 2014-11-05 08:43 AutSky_JadeK 阅读(347) 评论(0) 推荐(0)
摘要: floyd模板 1 #include 2 #include 3 using namespace std; 4 int a[101][101],m,x,y,n; 5 int main() 6 { 7 scanf("%d",&n); 8 for(int i=1;i<=n;i++) 9 ... 阅读全文
posted @ 2014-11-04 21:25 AutSky_JadeK 阅读(201) 评论(0) 推荐(0)
摘要: ∵每个座位可以坐俩人,所以拆点最大匹配。 1 #include 2 #include 3 #include 4 using namespace std; 5 #define N 2001 6 vectorG[N::iterator ITER; 8 int mat[N<<2]; 9 bool vis[... 阅读全文
posted @ 2014-11-04 17:13 AutSky_JadeK 阅读(279) 评论(0) 推荐(0)
摘要: 裸的匈牙利,存模板。 1 #include 2 #include 3 #include 4 using namespace std; 5 #define N 201 6 int n,m,x; 7 vectorG[N::iterator ITER; 9 int mat[N<<1]; bool vis[... 阅读全文
posted @ 2014-11-04 16:50 AutSky_JadeK 阅读(243) 评论(0) 推荐(0)
摘要: 1、独立区间问题在N个区间里找出最多的互不覆盖的区间对结束点进行排序,然后从结束点最小的区间开始进行选择即可2、覆盖区间问题给一个大区间,再给出N个小区间,求出最少用多少个区间可以把大区间覆盖完先选出开始的一个,然后选开始点在这个区间里结束点最大的区间,然后以次类推3、区间的最小点覆盖给出N个区间,... 阅读全文
posted @ 2014-11-04 07:35 AutSky_JadeK 阅读(490) 评论(0) 推荐(0)
摘要: 2014.11.4 7:33 还有三天半就要NOIP,圈一下要背的知识点:一、数论1、素数判断2、筛法求素数3、求一个数的欧拉函数值4、预处理欧拉函数5、卡塔兰数递推式6、快速幂(模素数的乘法逆元)7、GCD二、图论1、最短路:①堆dijkstra ②spfa2、kruscal 最小生成树3、LCA... 阅读全文
posted @ 2014-11-04 07:34 AutSky_JadeK 阅读(329) 评论(0) 推荐(0)
摘要: 对于两条线段,若其中点重合,且长度相等,那么它们一定是某个矩形的对角线。N*N地处理出所有线段,排序,对每一部分中点重合、长度相等的线段进行暴力枚举,更新答案。用 long double 注意EPS的设置,卡精度。注意数组大小的设置,容易MLE。 1 #include 2 #include 3 #i... 阅读全文
posted @ 2014-11-03 19:50 AutSky_JadeK 阅读(336) 评论(0) 推荐(0)
摘要: 考虑不限制奇偶的情况,那就是直接排序取前k个的和。加上奇偶限制:若排序后的前k个的和是偶数,则“显然地”:将其中的最小的奇数替换成未被选择的数中最大的偶数 或者将其中的最小的偶数替换成未被选择的数中最大的奇数 是最优的。那么排序之后 就可以预处理出 某个位置左侧最小的奇数、左侧最小的偶数、右侧最大的... 阅读全文
posted @ 2014-11-03 14:47 AutSky_JadeK 阅读(242) 评论(0) 推荐(0)
摘要: 注意细节和初始化。 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 string ans[110],tmp[110][110]; 7 int m,cnt[110],maxv,maxm,n; 8 int Calc... 阅读全文
posted @ 2014-11-03 10:09 AutSky_JadeK 阅读(256) 评论(0) 推荐(0)
摘要: 建图:每个点向它四周的点连边权为两点点权的差的绝对值的边。由于有多个需要“施法”的点,所以相当于对每个这样的点,询问与它的距离在T以内的最长边的最小值,即多次询问。最长边最小之类的,肯定是最小生成树没跑了。BUT 若是对每个点这样做的话,肯定会TLE。所以考虑一次处理出所有询问的答案。在并查集将两个... 阅读全文
posted @ 2014-11-02 21:04 AutSky_JadeK 阅读(261) 评论(0) 推荐(0)
摘要: 10分算法:对于城市网络为一条单向链的数据, 20分算法:对于n 2 #include 3 #include 4 #include 5 using namespace std; 6 #define M 500001 7 #define N 100001 8 struct Node 9 {10 ... 阅读全文
posted @ 2014-11-02 15:44 AutSky_JadeK 阅读(251) 评论(0) 推荐(0)
摘要: //上图绿色扫描线右侧少画了一条扫描线。很多区间把数轴分成了很多段,看哪个点的(区间覆盖数*该点权值)最大。显然在某个区间的右端点的答案是最优的。排序后 用扫描线从左到右扫描,维护每个点的覆盖数,就是遇到左端点时cnt++,右端点时更新ans、cnt--。若某个点既有左端点,又有右端点,就把左端点放... 阅读全文
posted @ 2014-11-02 14:15 AutSky_JadeK 阅读(256) 评论(0) 推荐(1)
摘要: 从左上角到右下角,共经过n+m个节点,从其中选择n各节点向右(或者m各节点向下),所以答案就是C(n+m,n)或者C(n+m,m),组合数暴力算即可,但是要取模,所以用了乘法逆元。 1 #include 2 #include 3 using namespace std; 4 typedef long... 阅读全文
posted @ 2014-11-02 14:05 AutSky_JadeK 阅读(318) 评论(0) 推荐(0)
摘要: 拓扑排序,要让字典序最小,所以把栈改成堆。 1 #include 2 #include 3 #include 4 using namespace std; 5 #define N 100001 6 priority_queue,greater >Q; 7 int n,m,x,y; 8 int v[N... 阅读全文
posted @ 2014-11-02 08:06 AutSky_JadeK 阅读(207) 评论(0) 推荐(0)
摘要: gcd(x,y)(1 gcd(x/k,y/k)=1,k是x的质因数 的个数 Σφ(x/k) (1 2 using namespace std; 3 typedef long long ll; 4 int phi[10000001],n; 5 bool unPrime[10000001]; 6 ll ... 阅读全文
posted @ 2014-11-01 17:27 AutSky_JadeK 阅读(265) 评论(0) 推荐(0)
摘要: ∵∑gcd(i, N)(1 gcd(x/ki,N/ki)=1 (1 2 #include 3 using namespace std; 4 typedef long long ll; 5 ll n,ans; 6 int phi(ll x) 7 { 8 ll res=x; 9 for(... 阅读全文
posted @ 2014-11-01 15:06 AutSky_JadeK 阅读(232) 评论(0) 推荐(0)
摘要: 判断堆:递归判断每个节点的孩子是否都比其父亲大(小)。判断BST:中序遍历是否有序。 1 #include 2 using namespace std; 3 #define lc (rtb[i-1]) {f2=0; break;}18 if(f2) return 1;19 retur... 阅读全文
posted @ 2014-11-01 08:09 AutSky_JadeK 阅读(226) 评论(0) 推荐(0)
摘要: ORZ:http://www.cnblogs.com/zrts/p/bzoj3714.html 1 #include 2 #include 3 using namespace std; 4 #define N 2010 5 int fa[N],rank[N],n,m,tot; 6 long long... 阅读全文
posted @ 2014-10-31 10:53 AutSky_JadeK 阅读(193) 评论(0) 推荐(0)
摘要: set去重。 1 #include 2 #include 3 using namespace std; 4 setS; 5 int T,n,x,a[50001],b[50001],en; 6 int main() 7 { 8 scanf("%d",&T); 9 for(;T>0;T-... 阅读全文
posted @ 2014-10-31 07:23 AutSky_JadeK 阅读(186) 评论(0) 推荐(0)
摘要: O(n)地枚举所有长度为k的段,每次暴力转移。转移的时候只是从最后插入一个数,从前面删去一个数。计算的时候要取当前的max和min。用multiset(∵元素是可重的)以上这些操作都是O(logn)的。 1 #include 2 #include 3 using namespace std; 4 m... 阅读全文
posted @ 2014-10-31 07:03 AutSky_JadeK 阅读(195) 评论(0) 推荐(0)
摘要: 题解:http://www.tuicool.com/articles/BfQBzif 1 #include 2 using namespace std; 3 int n,x,ans,tot; 4 int main() 5 { 6 scanf("%d",&n); 7 for(;n>0;... 阅读全文
posted @ 2014-10-29 21:55 AutSky_JadeK 阅读(165) 评论(0) 推荐(0)
摘要: ∵都是最优操作∴n*n=偶数时Bob赢,否则Alice赢n*n的奇偶性等价于n的奇偶性。 1 #include 2 using namespace std; 3 int n; 4 int main() 5 { 6 while(1) 7 { 8 scanf("%... 阅读全文
posted @ 2014-10-29 21:45 AutSky_JadeK 阅读(174) 评论(0) 推荐(0)
摘要: 对每种属性开一个set,只要某个厂家符合该属性的最值,就加进set,最后判断是否有某个厂家在4个set里都存在即可。 1 #include 2 #include 3 using namespace std; 4 int T,a[4][100001],EX[4],n; 5 setS[4]; 6 typ... 阅读全文
posted @ 2014-10-29 19:15 AutSky_JadeK 阅读(183) 评论(0) 推荐(0)
摘要: 考虑右侧的一个格子是否放雷,只可能对其左侧的三个格子造成影响。也就是说,若左侧一个格子旁的两个格子已经放了雷,对第三个格子也就唯一确定了。因此只枚举前两个格子是否放雷,剩下的暴力判断是否合法即可。但是再想想,左侧第一个格子只受右侧前两个格子的影响。所以只枚举右侧第一个格子是否放雷,剩下的判断是否合法... 阅读全文
posted @ 2014-10-29 18:42 AutSky_JadeK 阅读(266) 评论(0) 推荐(0)
摘要: 没什么好说的。 1 #include 2 using namespace std; 3 typedef long long ll; 4 int n,m;ll x,Fib[101]; 5 int main() 6 { 7 scanf("%d",&n); Fib[1]=1; 8 for(... 阅读全文
posted @ 2014-10-29 18:36 AutSky_JadeK 阅读(151) 评论(0) 推荐(0)
摘要: 把怪分成两类看:一、回血>损血 则若先杀损血少的再杀损血多的,则为当前这一步提供了更高的可能性。因为血量是单增的,所以尽量用较少的血量去干♂耗血较少的怪物。二、回血 2 #include 3 #include 4 using namespace std; 5 typedef long long ll... 阅读全文
posted @ 2014-10-29 18:35 AutSky_JadeK 阅读(280) 评论(0) 推荐(0)
摘要: 分块LCA什么的,意外地快呢……就是对询问的3个点两两求LCA,若其中两组LCA相等,则答案为第三者。然后用深度减一减什么的就求出距离了。 1 #include 2 #include 3 #include 4 using namespace std; 5 #define maxn 500001 6 ... 阅读全文
posted @ 2014-10-29 15:08 AutSky_JadeK 阅读(148) 评论(0) 推荐(0)
摘要: 莫队算法,离线回答询问,按一定大小(sqrt(n*log(n))左右)将答案分块,按 ①左端点所在块②右端点 双关键字排序。然后暴力转移。转移的时候用树状数组。O(n*sqrt(n)*log(n))。注意:①在一列数的后面添加一个数,逆序对数会增加 数列中比它大的数的个数。②在一列数的后面删除一个数... 阅读全文
posted @ 2014-10-29 10:38 AutSky_JadeK 阅读(388) 评论(0) 推荐(0)
摘要: 跟CODEVS 3415没有什么区别,也不用高精度。http://www.cnblogs.com/autsky-jadek/p/4055184.html 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 type... 阅读全文
posted @ 2014-10-28 13:59 AutSky_JadeK 阅读(303) 评论(0) 推荐(0)
摘要: 1 #include 2 #include 3 #include 4 using namespace std; 5 string s; 6 int n,pow2[32]; 7 long long ans; 8 void init() 9 {10 pow2[0]=1;11 for(i... 阅读全文
posted @ 2014-10-28 11:16 AutSky_JadeK 阅读(221) 评论(0) 推荐(0)
摘要: 1 #include 2 using namespace std; 3 int n,m,res,a[101],en; 4 int main() 5 { 6 scanf("%d%d",&n,&m); 7 while(n) 8 { 9 a[++en]=n... 阅读全文
posted @ 2014-10-28 11:15 AutSky_JadeK 阅读(218) 评论(0) 推荐(0)
摘要: 1 #include 2 #include 3 using namespace std; 4 int n,m,w[31],f[30001]; 5 int main() 6 { 7 scanf("%d%d",&m,&n); 8 for(int i=1;i=w[i];v--)11 ... 阅读全文
posted @ 2014-10-28 10:41 AutSky_JadeK 阅读(266) 评论(0) 推荐(0)
摘要: f(i,j)=f(i-1,j)+f(i,j-1),显然可以暴力递归求解,但是很多重复的状态,所以可以记忆下来。注意障碍点和边界的特判。 1 #include 2 #include 3 using namespace std; 4 int x1,y1,x2,y2,dp[25][25]; 5 bool ... 阅读全文
posted @ 2014-10-28 10:22 AutSky_JadeK 阅读(289) 评论(0) 推荐(0)
摘要: 最长不下降子序列的nlogn算法 见http://www.cnblogs.com/mengxm-lincf/archive/2011/07/12/2104745.html这题是最长不上升子序列,倒过来当最长不下降子序列搞就行。若是最长上升子序列,将upper_bound改成lower_bound即可... 阅读全文
posted @ 2014-10-28 08:42 AutSky_JadeK 阅读(298) 评论(0) 推荐(0)
摘要: f(l,r,i)表示第i段截第l位到第r位时,当前已经得到的价格最小值,可以很显然地发现,这个是没有后效性的,因为对之后截得的段都不造成影响。注意水彩笔数=1的特判。递归枚举当前段的r求解(∵l是前一段的r+1),因为很多状态重复,所以可以记忆化。 1 #include 2 #include 3 #... 阅读全文
posted @ 2014-10-27 21:29 AutSky_JadeK 阅读(474) 评论(0) 推荐(0)
TVアニメ「Charlotte(シャーロット)」公式サイト TVアニメ「Charlotte(シャーロット)」公式サイト