CF1093】的更多相关文章

CF-1093 1093A - Dice Rolling 输出x/2即可 #include<bits/stdc++.h> using namespace std; int main() { int t; cin >> t; while (t--) { int x; cin >> x; cout << x / 2 << endl; } return 0; } 1093B - Letters Rearranging 当且仅当字符串中所有字符都相同时,…
题解: D: 比较显然这个图得是二分图才行 然后每个二分图上的方案是$(2^a+2^b) (a,b是两种颜色的个数)$ E: 我tm就不该先写bitset的 正解和bitset都很好想 因为是个排列,所以所有元素都不同,会有很多性质 bitset就是我们对序列维护一个前缀和表示前i位有哪些数 发现你开不下空间 于是分块一下 复杂度 $n\sqrt{n}+\frac{nm}{32}$ 写了没多久卡常数卡了3个小时,然后还没过..(题解说是不想让它过得..) 大概是 把bitset换成了手写 循环展…
题意:给定长度为N的a数组,和b数组,a和b都是1到N的排列: 有两种操作,一种是询问[L1,R1],[L2,R2]:即问a数组的[L1,R1]区间和b数组的[L2,R2]区间出现了多少个相同的数字. 一种是修改b数组两个位置的值. 思路:如果把b数组每个数取对应a数组对应数的位置,即按照b的下标建立横坐标,纵坐标是它在a中的位置,那么问题就成了,询问在区间[L2,R2]里面,多少个数在[L1,R1]这区间.  这很明显就是主席树可以解决的了.时间复杂度是O(N*logN*logN):常数差不多…