T1[A. 入阵曲] 60%算法 维护一下某一列的从第一行到这一行和二维前缀和 然后枚举上下左右边界,$O(n^4)$ 100%算法 省掉左右边界的枚举,改为从左向右扫一边,记录总和%k的余数,并放入桶中,可以发现,如果这个值出现过,那说明这个位置的总和减去那个位置的差(即这个区间)是k的正倍数 T ...
分类:
其他好文 时间:
2019-08-11 23:33:46
阅读次数:
176
T2 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cmath> 5 #include<algorithm> 6 #include<queue> 7 #include<vector> 8 #define ...
分类:
其他好文 时间:
2019-08-08 21:25:50
阅读次数:
75
A. Detective Book 模拟题,有一些细节需要注意。 cpp include include include include include using namespace std; typedef pair PII; typedef long long LL; const int N ...
分类:
其他好文 时间:
2019-08-05 14:22:31
阅读次数:
105
1016 Phone Bills (25 分) 1016 Phone Bills (25 分) 1016 Phone Bills (25 分) A long-distance telephone company charges its customers by the following rules ...
分类:
编程语言 时间:
2019-08-04 01:35:10
阅读次数:
152
1014 Waiting in Line (30 分) 1014 Waiting in Line (30 分) 1014 Waiting in Line (30 分) Suppose a bank has N windows open for service. There is a yellow l ...
分类:
其他好文 时间:
2019-08-03 00:12:05
阅读次数:
134
T1[A. string]「桶排序」「线段树」 线段树维护区间的每个字母出现了多少次, 在排序的时候,先查询一个区间的每个字母的出现次数,然后挨个区间赋值 复杂度 $O(mlog(n)*26)$ 优化常数(26):定义f(懒标记):f!=0时,代表子树都被赋值为了同一个值;f==0,表示不相等。 将 ...
分类:
其他好文 时间:
2019-08-02 22:32:43
阅读次数:
161
题意: 求一个最大p使得,在区间[1, p] 内的所有区间 a 序列 和 b序列的最小值下标相同 用单调栈来维护,当第i个元素要进栈时,进行必要出栈操作,使得第i个元素进栈后,该栈单调递增,当a,b两栈的元素个数不相等时,则已达到最大 我的是用数组模拟栈 #include<cstdio>#inclu ...
分类:
其他好文 时间:
2019-08-01 00:05:48
阅读次数:
78
A. Vasya and Chocolate 模拟题。数据会爆$int$,要开$long$ $long$ B. Vasya and Isolated Vertices 考虑最小时,两两连边,答案为$max(n 2 m, 0)$ 考虑最大时,除了$m$为$1或0$特判以外,每次尝试用最多的边拓展一个点 ...
分类:
其他好文 时间:
2019-07-30 14:15:18
阅读次数:
84
T1随(rand)「概率和期望」「动态规划」 昨天误删了两篇博客QAQ 所以直接写正解了: 此T1实则为T3 由1<=ai<mod,且x=x*ai%mod 得 1<=任意状态<mod 定义f[i][j]为到第i位的当前状态为j的方案数 可得$f[i*2][j*k\%mod]=f[i][j]*f[i] ...
分类:
其他好文 时间:
2019-07-29 09:18:10
阅读次数:
93
题意:将两个字符串模拟洗牌的操作合并问是否能得打答案,以及中间经过的次数,如果不能则输出-1 思路:这是一道模拟题,所以只需要写一个模拟操作,不断循环即可。同时还要判断循环结束条件(递归结束条件),如果自己手写一个例子的话就会发现其在不超过2*n(n为长度)次数就会洗回来 完整代码: ...
分类:
其他好文 时间:
2019-07-28 15:57:56
阅读次数:
83