思维题
AC_jie
这个作者很懒,什么都没留下…
展开
-
cf 870 B
这是一个思维题, ,首先如果分成一组的话,那样一开始选出的就是数组的最小值,然后这个最小值就是答案. 如果分成3组及三组以上的话,就可以将数组的最大值单独分在一组中,那样答案就是数组的最大值. 最后一种情况是分成两组的情况.这个有点难考虑,首先分析下,然后分成两组的话,肯定是左边一组,右边一组,无论左边和右边的长度,最左边的元素(L),和最右边的元素(R)肯定是分别在左右两个集合中.不妨以左集原创 2017-10-19 20:26:47 · 270 阅读 · 0 评论 -
吉首大学新生赛 Jack的宝物问题 (前缀和应用)
今天做新生赛,发现自己还是个菜狗.题目描述 Jack是个吃鸡玩家,一个偶然的机会Jack来到了神秘的P城,Jack发现P城有 N 种宝物,每种宝物有 x[i] 个。但是当Jack想把他们全部拿走时,Jack发现由于背包限制,Jack现在只能带 3 件宝物回去,且每种宝物Jack最多只能带走 1 件。那么Jack一共有多少种带走 3 种不同宝物的方法? 输入 输入题目有多组测试数据 每组原创 2017-12-24 17:31:45 · 337 阅读 · 0 评论 -
对称博弈HDU3951
这个题意是有一个n个硬币围成圈,然后可以从这个圈的某一位置连续取最多k个.问先手是不是可以必胜. 首先考虑特殊情况, 若 K >= n, 先手必胜. 首先明确一个策略,就是 跟随,建立对称的局面,跟随详见 > 简单来说先手无论怎么取,圈会变成一条链,后手现在要做的就是将这一条链变成两条长度相等的链,只有这样后手总会有机会取,这样后手必胜. 现在就是考虑后手什么情况下可以建原创 2018-01-16 19:31:25 · 355 阅读 · 0 评论 -
poj 1014 多重背包
就是判断弹珠是否可以平分,一开始想到了背包模型。一开始转画成了01背包。wa了。那是就一直在纠结物品的cost是什么,假设成了1,后来一直不对,看了题解他们将cost 设定等于就是将cost等同于weight.就是在寻找也可以转化这样想,将所给的标准就是cost,也就是体积的话,问题就转化成了在不考虑价值的情况下。怎么分配可以放满容积为 sum / 2 的背包。 #include&l...原创 2018-02-26 21:04:42 · 365 阅读 · 0 评论 -
山东省第四届省赛 A^X mod P (连续求多个高次幂) 哈希思想
今天开始训练难题,这个题常规思路超时,因为算法复杂度为 T (40)* 1e6 * log 1e9 (30)大约等于1.2 * 1e9 无论怎么样优化快速冪的操作都会超时,而递推式的(1e6)很难优化,这是可以考虑降低一个快速冪的时间复杂度,假设如果可以在o(1)的时间内算出冪,但是如何算呢? 其实算一个数的快速冪的时间复杂度是log(N),但是在算多个的时候显得没有优势了, 再来想一下,如果...原创 2018-03-22 16:13:37 · 264 阅读 · 0 评论 -
蓝桥杯水题 矩形面积交
一开始以为是扫描线算法,但是仔细一看基础题出扫描线?,想了一下一直卡在两个矩形的左右关系上,看了题解才发现,原来矩形的面积交与坐标的相对位置有关,其实就是位置第二大的x与位置第三大的x可以组成矩形,y同理. #include<cstdio> #include<iostream> #include<iomanip> using namespace std; ...原创 2018-03-20 15:26:51 · 360 阅读 · 0 评论