上一页 1 ··· 32 33 34 35 36 37 38 39 40 ··· 42 下一页
摘要: bzoj1047[HAOI2007]理想的正方形 题意: 有一个a*b的整数组成的矩阵,求一个n*n的正方形区域,使得该区域所有数中的最大值和最小值的差最小。a,b≤1000,n≤100 题解: 做4次单调队列。先利用单调队列求出第i行第j列到第i行第j+n-1列的最大最小值,再利用这个求出第i行第 阅读全文
posted @ 2016-07-23 13:11 YuanZiming 阅读(282) 评论(0) 推荐(0) 编辑
摘要: bzoj1878[SDOI2009]HH的项链 题意: N个数,M个询问求区间[L,R]中包含了多少种不同的数。 题解: 莫队好像可以做~但正解是树状数组。先将询问按左端点排序,并求出每个数的下一个与它相等的数的位置,同时将每个数第一次出现的位置在树状数组中置为1,此时query(x)求出来的就是1 阅读全文
posted @ 2016-07-23 13:09 YuanZiming 阅读(159) 评论(0) 推荐(0) 编辑
摘要: bzoj1497[NOI2006]最大获利 题意: N个地方,在i处建立通讯中转站需要的成本为Pi。M个用户,第i个用户会使用中转站Ai和中转站Bi进行通讯,公司可以获益Ci。求净获利最大值。N≤5000,M≤50000 题解: 最小割。源点向所有地方连边,流量为建站成本,第Ai个地方和第Bi个地方 阅读全文
posted @ 2016-07-23 13:05 YuanZiming 阅读(373) 评论(0) 推荐(0) 编辑
摘要: bzoj1034[ZJOI2008]泡泡堂BNB 题意: n场比赛,知道自己所有选手的能力值和对方所有选手的能力值,能力值大的一定赢。比赛赢一场得2分,平局得1分,输了不得分。对方随机决定选手顺序,你想知道自己最多能得多少分和最少能得多少分。N≤100000 题解: 贪心。设一个高分方和低分方,将两 阅读全文
posted @ 2016-07-23 13:01 YuanZiming 阅读(227) 评论(0) 推荐(0) 编辑
摘要: bzoj1024[SCOI2009]生日快乐 题意: 一个矩形蛋糕边长分别为X和Y,须切成N块面积相等的蛋糕。每一切只能平行于一块蛋糕的任意一边,并且必须把这块蛋糕切成两块。因此必须切 N-1 次。求 N块蛋糕的长边与短边的比值的最大值的最小值。X,Y≤10000,N≤10 题解: 爆搜,dfs(x 阅读全文
posted @ 2016-07-23 12:57 YuanZiming 阅读(167) 评论(0) 推荐(0) 编辑
摘要: bzoj2561最小生成树 题意: 给定一个连通无向图,假设现在加入一条边权为L的边(u,v),求需要删掉最少多少条边,才能够使得这条边既可能出现在最小生成树上,也可能出现在最大生成树上。 题解: 最小割。如果一个边出现在最小生成树上,那么权值比它小的边一定不能使图联通。因为要求删掉最少,所以当加入 阅读全文
posted @ 2016-07-23 12:55 YuanZiming 阅读(256) 评论(0) 推荐(0) 编辑
摘要: bzoj2423[HAOI2010]最长公共子序列 题意: 求两个字符串的最长公共子序列长度和个数。字符串长度均≤5000。 题解: dp,设f[i][j]表示x串i位到末位,y串j位到末位的最长长度,g[i][j]表示x串i位到末位,y串j位到末位的最长长度的个数,方程: x[i]==y[j]:f 阅读全文
posted @ 2016-07-22 21:38 YuanZiming 阅读(240) 评论(0) 推荐(0) 编辑
摘要: bzoj2705[SDOI2012]Longge的问题 题意: 给定一个整数N,求出∑gcd(i, N)(1<=i <=N)。 题解: 欧拉函数就是求比一个正整数且和它互质的正整数有几个,我不会,摘黄学长的题解: “ 题目中要求出∑gcd(i,N)(1<=i<=N)。 枚举n的约数k,令s(k)为满 阅读全文
posted @ 2016-07-22 20:31 YuanZiming 阅读(221) 评论(0) 推荐(0) 编辑
摘要: bzoj3504[Cqoi2014]危桥 题意: 有N座岛屿,某些岛屿之间有桥相连,桥上的道路是双向的,但一次只能供一人通行。其中一些桥是危桥。Alice希望在岛屿al和a2之间往返an次(从al到a2再从a2 到al算一次往返)。同时,Bob希望在岛屿bl和b2之间往返bn次。这个过程中,所有危桥 阅读全文
posted @ 2016-07-22 20:27 YuanZiming 阅读(353) 评论(0) 推荐(0) 编辑
摘要: bzoj2456mode 题意: 给你一个n个数的数列,求出现次数超过n div 2的数(只有1个)。 题解: 注意空间只有1M,显然不能开数组。用两个变量,一个存“当前数”,另一个存“当前数”的个数,如果读入的数与“当前数”相同就个数加一,如果不同就减一。如果个数减到0就换“当前数”为现在读入的数 阅读全文
posted @ 2016-07-22 20:17 YuanZiming 阅读(145) 评论(0) 推荐(0) 编辑
上一页 1 ··· 32 33 34 35 36 37 38 39 40 ··· 42 下一页