数学
分析:如果1 << k == x,那么放1个就可以了;否则还要加上差值的二进制的1的个数。
/************************************************* Author :Running_Time* Created Time :2015/9/16 星期三 23:13:08* File Name :A.cpp ************************************************/#include #include #include #include #include #include #include #include #include #include #include #include #include
贪心
题意:每两个人组成一个team,两人之间有一个连接的强度,问所有人连接强度最大的team组合是怎样的
分析:按照连接强度排序,因为连接强度无重复。如果该连接强度连接的两个人没有组成team,那么他们就组成team,这样的选择是连接强度最大的
总结:这题的贪心方法没想到,按照每个人能连接的人的连接强度排序WA了
/************************************************* Author :Running_Time* Created Time :2015/9/16 星期三 23:13:11* File Name :B.cpp ************************************************/#include #include #include #include #include #include #include #include #include #include #include #include #include
二分
题意:有一个(0, 0) – (x, x) – (2x, 0) – (3x, x) – (4x, 0) – ... - (2kx, 0) – (2kx + x, x) – 的折线,问(a, b)是否在折线上
分析:两种情况,点在某个三角形的左边:a = 2 * k * x + b,或者在右边:a = 2 * k * x - b,满足x >= b,二分查找k
/************************************************* Author :Running_Time* Created Time :2015/9/16 星期三 23:13:14* File Name :C.cpp ************************************************/#include #include #include #include #include #include #include #include #include #include #include #include #include
贪心+位运算
题意:可以对n个数字其中的数字*x,最多k次,问 的最大值
分析:其决定因素的是二进制的最高位,如果ai*x,那么剩下的所有x都给ai,降低复杂度使用前缀和后缀,枚举选取ai得到最大值
/************************************************* Author :Running_Time* Created Time :2015/9/17 星期四 17:21:00* File Name :D.cpp ************************************************/#include #include #include #include #include #include #include #include #include #include #include #include #include
三分||二分
题意:n个数字,每个数字减去x,使得求最大连续子序列和最小连续子序列的绝对值的最大值最小
分析:x增加,最大连续子序列f(x)递减,最小连续子序列g(x)递增,可用三分。二分的没想明白,先放着
三分:
/************************************************* Author :Running_Time* Created Time :2015/9/17 星期四 17:56:57* File Name :E.cpp ************************************************/#include #include #include #include #include #include #include #include #include #include #include #include #include
二分:
/************************************************* Author :Running_Time* Created Time :2015/9/17 星期四 17:56:57* File Name :E.cpp ************************************************/#include #include #include #include #include #include #include #include #include #include #include #include #include
转载地址:https://blog.csdn.net/weixin_33831196/article/details/93263096 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!