关闭

[贪心 构造] SRM 717 div1 ScoresSequence

首先他保证图唯一确定,那么可以把图给构出来 类似这个题,按照出度从大到小排序,出度最大那个点怎么分配,类似无向图可图判定,应该是向出度小的点连,使得出度大的向他连,让出度大的出度减小// BEGIN CUT HERE #include #include // END CUT HERE #include #include...
阅读(95) 评论(0)

[杂题 贪心] BZOJ 2138 stone

#include #include #include using namespace std; typedef long long ll;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; return p1==p2&&(p2=(p1=buf)+fread(buf,1,1...
阅读(187) 评论(0)

[后缀数组 贪心] BZOJ 4278 [ONTAK2015]Tasowanie

两个指针 显然小的那个先放 如果一样 比后一个 再一样 再后 然后就转化成比较后缀的字典序了#include #include #include using namespace std;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; return p1==p2&&(p...
阅读(214) 评论(0)

[贪心 模拟 + 二分答案 DP] BZOJ 1181 [CROATIAN2009]IZBROI选举

听说这是种有理有据的席位分配方法? 求最大值 可以直接把剩下的票全给他 模拟一发就好了 求最小值 就需要二分答案加DP检验了 我们用fi,jf_{i,j}表示不包括当前党派的前ii个党派总共占据jj个席位最少还要多少选票 只要检验 f20,m−mid≤V−totf_{20,m-mid} \leq V-tot 就行了 2020是因为最多有2020个党派有席位 因为5%5\%的限制#inclu...
阅读(168) 评论(0)

[贪心 枚举] BZOJ 3214 [Zjoi2013]丽洁体

A和C贪心一通 B只要乱枚举就好了 那么复杂度 500n #include #include #include #include #include #include #include using namespace std; const int N=500005; char ss[4][N]; map Map; int cnt=0; inline void Deal(char *...
阅读(398) 评论(0)

[贪心 构造] BZOJ 2943 [Poi2000]三臂起重机 Triple-Arm Crane

在BZOJ上蜜汁RE 但是main上过了 if p > q then swap(p,q) for I :=  1  to  n  do      if  i没有放  then      if  i + p没有放  then 放(i,i+p,i+p+q)       else  放(i,i+q,i+p+q) 为什么这么做可行呢 可以证明对于每个循...
阅读(120) 评论(0)

[平面图 贪心 || 最大流] BZOJ 2939 [Poi2000]滑雪 Skiers

直接做最大流是可以的。 不过可以发现,因为所有的路线不相交,故最左的路线尽量往左取显然是最优的。从左至右深搜此图即可得出答案。 and the following k integers are their numbers, which are ordered according to the arrangement of glades leading to them, in eas...
阅读(193) 评论(0)

[贪心 归并排序] BZOJ 2920 [Poi1998]How to pack containers

对于容器从小到大考虑,首先将体积为i的方案与已有方案利用归排合并,然后若当前的方案不足T[i]个则无解,否则选取前T[i]个加两合并作为下一次的方案。 #include #include #include using namespace std; typedef pair abcd; inline char nc(){ static char buf[100000],*p1=buf...
阅读(90) 评论(0)

[二分 贪心 || 树的划分] NOI2003 Day 2 Berry Test6~Test9

论文:鬲融--浅谈特殊穷举思想的应用 论文:贝小辉--浅析树的划分问题 并不会打树的划分算法 #include #include #include #include #define cl(x) memset(x,0,sizeof(x)) using namespace std; inline char nc(){ static char buf[100000...
阅读(88) 评论(0)

[贪心 DP] 51Nod 1241 特殊的排序

求出最大的连续子序列即可 然后不对的向两边怼 #include #include #include using namespace std; const int N=50005; int n,a[N],pre[N],ans; int f[N]; int main(){ scanf("%d",&n); for (int i=1;i<=n;i++) scanf("%d",a+i...
阅读(153) 评论(0)

[贪心 置换] 51Nod 1125 交换机器的最小代价

先找置换 肯定会形成循环 如果问最小交换次数 就是n-循环数 这里问最小代价 先分成很多组置换,因为是两两交换,所以在每组置换内部,让最小的数反向走一圈,也就是 最小数交换 置换长度-1 次,其他数交换一次.还有一种可能,是引入置换外部的最小数,也就是先交换内部最小数和外部最小数,再按第一种方法搞,最后再换回来. #include #include #include...
阅读(282) 评论(0)

[贪心 排序] 计蒜客 231 零花钱

作為创造產奶纪录的回报,Farmer  John决定开始每个星期给Bessie一点零花钱。FJ有一些硬币,一共有N  (1  比较贪心的策略 不能花太多冤枉钱 每天 我们先从大往小填 一直卡着不超出 然后用小的填到超出一点点就行了 #include #include #include using namespace std; typedef pair abcd; ...
阅读(124) 评论(0)

[贪心 排序] 计蒜客 218 配对元素

给出2个序列A={a[1],a[2],…,a[n]},B={b[1],b[2],…,b[n]},从A、B中各选出n个元素进行一一配对(可以不按照原来在序列中的顺序),并使得所有配对元素差的绝对值之和最大。 就是正着排序 反着排序 不过我不会证明 #include #include #include using namespace std; const int N=10005; i...
阅读(114) 评论(0)

[贪心 图论] 计蒜客 40 百度之星 聚会游戏

百度之星总决赛即是一群编程大牛一决高下的赛场,也是圈内众多网友难得的联欢,在为期一周的聚会中,总少不了各种有趣的游戏。 某年的总决赛聚会中,一个有趣的游戏是这样的: 游戏由Robin主持,一共有N个人参加(包括主持人),Robin让每个人说出自己在现场认识的人数(如果A认识B,则默认B也认识A),在收到所有选手报出的数据后,他来判断是否有人说谎。Robin说,如果他能判断正确,希望每位选手都能...
阅读(143) 评论(0)

[贪心 入门题] 洛谷 P2651 添加括号III

尽然看一道入门题看了这么久... 可以想见除了第一个数在上面 第二个数固定在下面 其他数可以任意 那么就只留第二个数在下面 #include #include #include using namespace std; typedef long long ll; inline char nc(){ static char buf[100000],*p1=buf,*p2=buf;...
阅读(109) 评论(0)

[贪心 数学] 完全平方数最大

原贴:http://blog.csdn.net/cax1165/article/details/53052917 从1 − N中找一些数乘起来使得答案是一个完全平方数,求这个完全平方数 最大可能是多少。 对于n的阶乘质因数分解后 如果一个素数次数是奇数那么不选这个素数 否则选这个素数 这样就能保证最大并且不会出现一个数的一部分选一部分不选的情况 因为不选...
阅读(221) 评论(0)

[贪心 KMP] 2016 计蒜之道 初赛 第一场 A. 青云的服务器密钥

只有一种字母 简单求和一下 两种或者以上的字母 我们就把某个字母安排在这,它同种类的其他字母安排到最后,那么前面不含这个字母的部分的π值都将为0,从开始出现这个字符,才有π值,且只能为1,这样答案就应该是这个字母出现次数cnt-1。 #include #include #include using namespace std; const int N=1000...
阅读(167) 评论(0)

[贪心 二分] 2016 计蒜之道 复赛 B. 联想专卖店大促销

注意相邻不能相同 意味着最大的不超过其余两个的和+1 可以发现 三个礼包的交集是1个a 1个b  剩余分别对应1个a 1个b 1个c 那么我们二分 是否x+y+z>=mid 然后验证 #include #include #include using namespace std; inline char nc(){ static char buf[100000],*p1=bu...
阅读(138) 评论(0)

[堆 贪心] Canada Cup 2016 D. Contest Balloons

不想多说 #include #include #include #include using namespace std; typedef long long ll; typedef pair abcd; inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fr...
阅读(107) 评论(0)

[DP 决策单调性 || 贪心] UER #7 A.短路

先是写了个决策单调性DP 然后知道能贪心 就没写了 #include #include #include using namespace std; typedef long long ll; inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fread(bu...
阅读(100) 评论(0)
38条 共2页1 2 下一页 尾页
    个人资料
    • 访问:261086次
    • 积分:11910
    • 等级:
    • 排名:第1320名
    • 原创:969篇
    • 转载:3篇
    • 译文:0篇
    • 评论:49条
    最新评论