上一页 1 2 3 4 5 6 7 8 9 ··· 13 下一页
摘要: 对于每个bi,可以求出ai属于 [(i / (bi + 1)) + 1 , i / bi] 然后就是贪心,参考了yyg的写法 依次枚举1~n,枚举到第i个时,把左边界为i的都放进优先队列,此时优先队列中所有元素的左边界<=i,取出一个右边界最小的即可 因为保证有解,所以取出的元素右边界一定>=i(反 阅读全文
posted @ 2022-07-10 00:42 xhy666 阅读(35) 评论(0) 推荐(0)
摘要: 题意:给定S种动物,L个朋友关系,规定相邻的朋友可以交换位置,求排成一行的n个动物通过交换可以获得的最小字典序列 分析:发现不是朋友的动物之间相对位置无法改变,构成拓扑序,对于那些可以改变的,在拓扑排序的时候放进优先队列求字典序最小就行了 如何建图:对于第i个动物,只需要知道S种动物在它之前出现的位 阅读全文
posted @ 2022-07-07 21:20 xhy666 阅读(56) 评论(0) 推荐(0)
摘要: f[x][0/1]为最大值为x的合法序列个数, f[x][0]:包含0~x, f[x][1]:包含0~x-2和x #include<bits/stdc++.h> using namespace std; #define fr first #define se second #define et0 e 阅读全文
posted @ 2022-07-06 01:17 xhy666 阅读(32) 评论(0) 推荐(0)
摘要: f[p - i]代表原二进制串左移i个单位能得到的不同二进制串的个数 考虑去重,如果a[i]是否能回溯到a[j],那么就无需考虑,从S中舍去 最后对于S中的每一个数,bit为这个数在二进制下的最高位,f[min(p, bit)]即为这个数对答案的贡献 #f[i]的另一种更好理解的表示 #includ 阅读全文
posted @ 2022-07-04 18:19 xhy666 阅读(29) 评论(0) 推荐(0)
摘要: O(M*sqrt(M))的做法超时 考虑直接暴力,用bitset实现小常数,时间复杂度O(N^3 / 64) #include<bits/stdc++.h> using namespace std; #define fr first #define se second #define et0 exi 阅读全文
posted @ 2022-07-03 13:22 xhy666 阅读(29) 评论(0) 推荐(0)
摘要: 晚上abc的G题考到了,听说是典中典 搞了一下O(m*sqrt(m))的写法 但是在atcoder超时,明天补bitset的写法 #时间复杂度的证明 #使用bitset的题解 #include<bits/stdc++.h> using namespace std; #define fr first 阅读全文
posted @ 2022-07-03 01:27 xhy666 阅读(38) 评论(0) 推荐(0)
摘要: 分治 + 推式子(构造绝对值不等式) 交换行的元素时每列的元素个数不变,交换列时同理,所以可以分别考虑行和列 对于行(列),可以看成均分纸牌的模型,唯一的不同点是从链变成了环(首尾可交换) 然后就可以推式子了 #推式子具体过程 #include<bits/stdc++.h> using namesp 阅读全文
posted @ 2022-07-01 16:48 xhy666 阅读(54) 评论(0) 推荐(0)
摘要: 贪心 + 分治 + 位运算 从高到低逐位考虑,分两种情况: 1、目前集合中当前位只有0或只有1,此位贡献为0 2、目前集合中当前位(第k位)同时存在0和1,那么此位对这个集合的贡献为 1 << k,然后以0和1划分当前集合的子集,分别求子集的最小贡献 #include<bits/stdc++.h> 阅读全文
posted @ 2022-06-30 01:39 xhy666 阅读(30) 评论(0) 推荐(0)
摘要: #原题 每一个位置至多只会操作一次,因为如果操作偶数次的话,相当于不操作 最终的状态与操作的顺序无关 如果确定了第一行的操作方案,那么后面的行数都可以依此递推 #include<bits/stdc++.h> using namespace std; #define fr first #define 阅读全文
posted @ 2022-06-29 18:54 xhy666 阅读(68) 评论(0) 推荐(0)
摘要: 想出来一个(目前)不知真伪的写法 从1到n遍历,遇到当前容量(j)下价值(w)更大的方案就把path[j]清空,把path[j-v]转移过来,加上i 遇到当前容量下价值相等的方案就比较path[j-v] + i和path[j]的字典序 题解是从n到1遍历,用二维数组f[i][j]存状态 最后从1到n 阅读全文
posted @ 2022-06-28 19:18 xhy666 阅读(28) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 9 ··· 13 下一页