![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
acm技巧
Marcus-Bao
这个作者很懒,什么都没留下…
展开
-
#515. 「LibreOJ β Round #2」贪心只能过样例 背包+bitset优化
pdf题意:一共有 nnn个数,第 iii 个数 xix_ixi 可以取 [ai,bi][a_i , b_i][ai,bi] 中任意值。设 S=∑xi2S = \sum{{x_i}^2}S=∑xi2,求 SSS 种类数。输入格式第一行一个数 nnn。然后 nnn 行原创 2017-07-17 16:32:50 · 720 阅读 · 0 评论 -
HDU - 5009 Paint Pearls dp + 双向链表优化
题意: 有n个珠子需要你染上特定的颜色,初始的时候是没有染色的,每次染的代价是不同颜色的平方。问你染完所有的需要的最小代价。思路: 首先比较好想的就是dp[i]表示涂完1~i所需要的最小代价. dp[i] = min(dp[i],dp[j]+cnt*cnt) cnt为从j+1~i的不同颜色珠子数.然后发现这个过程需要n2n^2 显然不行. 我们发现对于重复颜色珠子,从后往前枚举j的时候重复颜原创 2017-10-14 11:53:53 · 326 阅读 · 0 评论 -
UVA - 11754 Code Feat CRT (big技巧枚举 small暴力)
题目链接 题意:给定一个c个x, y1,y2,y3..yk形式,前s小的答案满足s % x在集合y1, y2, y3 … yk中 (c <= 9 ,k <= 100,S<= 10) 思路:考虑搜索枚举每个集合的yi,那么复杂度就是所有k的乘积,所以这个方法当k很小的时候我们可以dfs枚举每个集合选一个yi的组合,然后CRT暴力求解输出S个正整数解。 然而当k乘积很大的时候我们怎么解决?考原创 2017-10-10 23:09:33 · 328 阅读 · 0 评论 -
HDU - 5047 Sawtooth 找规律+推公式 (拆位计算)
题目链接题意: 给n条样子像“m”的折线,求它们能把二维平面分成的面最多是多少。思路:我们发现直线1条:2平面;2直线:4平面;3直线:7平面......因为第n条直线要与前面n-1条直线都相交,才能使分的平面最多,则添加第n条直线,平面增加n个;所以公式是面F = 2 + 2 + 3 + ......+ n = (1+n)*n/2 + 1原创 2017-10-03 00:25:32 · 456 阅读 · 0 评论 -
CodeForces - 620D Professor GukiZ and Two Arrays 二分 | 双指针 STL
题目链接题意:给定N≤2×103的两个序列,给定0≤k≤2次交换2个序列中一个数的操作,使得|suma−sumb|最小思路:考虑N最大为2e3,所以考虑对交换0次或1次的我们可以直接暴力来求,枚举哪两个数交换,复杂度 O(N2) 1.交换一次 零次设sa-sb为s,假设交换a[i]和b[j]两个元素那么 sa’ = s-a原创 2017-08-30 23:19:18 · 467 阅读 · 0 评论 -
NEU 1207 Birthday present 思维 + 分段 +调和级数套路
题目链接题意:给你一个数组a,给你一个k,你可以讲每个数减去不超过k,要求最后的GCD最大,求这个gcd 1 ≤ n ≤ 3·1e5; 1 ≤ k ≤ 1e6 1 ≤ ai ≤ 1e6原创 2017-09-08 01:07:26 · 375 阅读 · 0 评论 -
hdu 6085 Rikka with Candies bitset优化计数
题目链接题意:有N个人,每个人拥有Ai的钱,有M种物品,每种物品的数量都是无限的,我们现在有一个查询X,表示询问存在多少对购买方案对,使得Ai%Bj==X.输出方案数%2的结果。思路:由于只需要求出最后结果的奇偶性,所以可以考虑用位运算来优化加速. 我们知道a%b == k 等价于 (a-k) %b == 0. 这里有a>=k && b原创 2017-09-08 00:41:48 · 326 阅读 · 0 评论 -
Codeforces Round #433 (Div. 2,) Jury Meeting 贪心 + 技巧
题目链接题意:给你m个航班,然后使得n个特派员在0号城市开会,最少要让这n个特派员一起在这里待上k天,然后每个航班的航线、时间和花费已知,问你满足题意的最小花费。如果不满足,则输出-1题解:直接贪心即可,正着找去0号城市的最小花费,倒着找回去的最下花费,然后相加即可。原创 2017-09-07 14:00:08 · 335 阅读 · 0 评论 -
codeforces 580B Arpa and a list of numbers 前缀和+思维+分块 (调和级数)
题目链接题意:给出N个数,删除一个数的花费是X,改变一个数从num变成num+1的花费是Y,问将整个序列的Gcd改成不是1的最小花费。思路:首先考虑枚举gcd,我们知道gcd为素数肯定最优了,因为你枚举质数的倍数为gcd的话,排着枚举肯定会先枚举到质数,不是最优.1e6以内的素数大约8e4个,而元素最多有5e5.这样还是会TLE。我们知道,基于贪心的原创 2017-09-06 19:13:27 · 497 阅读 · 0 评论 -
Codeforces Round #428 (Div. 2) B 细节 D gcd预处理因子+容斥
题意:给出n行,每行有8个座位, {1, 2} {3 4} {4, 5} {5, 6} {7, 8} 一行中这些位置算相邻,给出k个不同部队的士兵,要求不同部队的士兵部能坐相邻的位置,问能否达到这个目的思路:这个题我的思路比较丑..我先把所有奇数的+1判断能否全部坐下,不能就一定不可以了.然后优先考虑人数大于等于4的,放在中间的四人座,如果都填完了,还剩余四人座,在考虑了剩下的原创 2017-08-15 01:30:11 · 318 阅读 · 0 评论 -
2017 四川省赛 D Dynamic Graph 思维+拓扑排序+bitset 优化
PDF题意:给一个DAG(有向无环图) 有q次操作, 每次操作把一个点变成黑色或者变回来(这些点初始都是白色的), 问每次操作后这个图中起点到终点有路径且这条路径上面的点都是白色的.思路:这个题也可以有两种做法,首先我们最基本的暴力去做肯定超时,复杂度O(n*m*q),官方题解给出的做法就是,我们可以记录f[x][y]为x到y的路原创 2017-07-17 00:52:45 · 503 阅读 · 0 评论 -
BZOJ 1257 数学 思维 分段
题目链接题意:给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 + … + k mod n的值,其中k mod i表示k除以i的余数。例如j(5, 3)=3 mod 1 + 3 mod 2 + 3 mod 3 + 3 mod 4 + 3 mod 5=0+1+0+3+3=7.50%的数据满足:1思路:原创 2017-07-28 19:12:35 · 375 阅读 · 0 评论 -
hdu 6053 TrickGCD 筛法+莫比乌斯函数+分块处理
题目链接题意:给你n个数字,每个位置的数字可以小于等于a[i],求所有gcd(l,r)都满足大于等于2的情况数;思路:首先,比较好想到的就是枚举gcd,那么每个ai,都有ai/gcd 的选择,然后n个数累乘.但是我们发现,比如 6 6 的时候 2 3 都计算了6 ,6也算了6.有很多重复的情况没法处理,所以想到了容斥,可是当时真的不知道怎么去容斥原创 2017-07-28 13:41:28 · 413 阅读 · 0 评论 -
hdu 6140 Hybrid Crystals 阅读题 OR bitset 优化01背包
题目连接题意:确实比较坑,题中给出的信息保证了凑出的数连续,但是我一直以为没什么用也没发现这个....然后就发现01背包肯定T了啊,那我就bitset优化一下吧.第一次写bitset,没办法 xjb搞搞吧,然后就一直T.这里bitset优化的时间复杂度大致是n*k/64 或者/32 吧 这个不太清楚.如果这个是个搜索我肯定就想到了这种剪枝...但是没想到...这样优化原创 2017-08-17 20:16:46 · 817 阅读 · 0 评论 -
广工oj 1231 && 51nod 1821 加强版 思维+并查集 OR 栈
题目链接 这个应该是最基础的一道题目了.假设当时我们可以凑出(0,n)的所有数,那么只有当来的数x满足 n+1 >= x 才能保证凑出新的(0,n+x)的所有的数.否则若x为n+2 那么就无法凑出n+1 等等.所以这个题目直接排个序,然后扫一遍 直到 ans+1 int a[N];int main(){ int _,n;原创 2017-08-18 12:41:22 · 871 阅读 · 0 评论 -
牛客网 Xorto 计数
题目描述 给定一个长度为n的整数数组,问有多少对互不重叠的非空区间,使得两个区间内的数的异或和为0。 思路: 水题一个,但是 hhh 中文题都读不懂了.对于这种计数的自己也是一个弱项吧,如何考虑不重不漏. 这种一对一对的如何防止重复找,就是每次都是后面的去对应前面的,这样就可以不重不漏了.对于这个题目也很简单,n为1000,直接暴力往前算出以每个点为右端点的所有区间的异或值并计数,然后在把该原创 2017-10-14 21:28:55 · 950 阅读 · 0 评论