今天晚上第二场比赛,现在还是赛后刷上次的题目,越刷越伤心,发现我赛后一次AC的功力很强大啊!!!(希望今晚变成是赛中一次AC啊!!) 好啦,回归正题。 看题目 D. Merging Two Decks time limit per test 2 seconds memory limit per test 256 megabytes input input.tx
比赛时间只有两个小时,我没有选做这题,因为当时看样例也看不懂,比较烦恼。 后来发现,该题对输入输出要求很低。远远没有昨天我在做的A题的麻烦,赛后认真看了一下就明白了,写了一下,一次就AC了,没问题,真心有点后悔。 来先看题目: C. Practice t ime limit per test 1 second memory limit per test 256 megabyt
魔法串(杭电4545) Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 476 Accepted Submission(s): 201 Problem Description 小明和他的好朋友小西在玩一个新的
Everybody loves big numbers (if you do not, you might want to stop reading at this point). There are many ways of constructing really big numbers known to humankind, for instance: Exponentiation: 4
Problem Description Given an undirected graph G=(V,E). All vertices are numbered from 1 to N. And every vertex u has a value of Au. Let Su={Av│(u,v)∈E}. Also, F(u) equals MEX(minimum excludant) value
题意: 构造一棵树,使得按照 A 1 A1 A1为根拓扑排序可以得到 A A A序列,按照 B 1 B1 B1为根拓扑排序可以得到 B B B序列。 思路: 表示很巧妙,没想出来,直接搬题解吧 这道题倒是纠正了我一直以来的误区,我以前一直用bfs写拓扑,所以转换到树上的时候想当然的把bfs序与拓扑序等价了起来。但其实拓扑排序也可以是树上dfs序,只要满足前驱限制条件的序列都是拓扑序。
题意: 每次使得一个 a ∗ b a*b a∗b的子矩阵每个值减1,问能否使得这个 n ∗ m n*m n∗m的矩阵全部变成0。 思路: 也是套路题了,直接维护二维前缀和。 #include <cstdio>#include <cstring>#include <algorithm>#include <vector>#include <queue>using namespace st
题意: 有 k k k种数,每种数有 b [ i ] b[i] b[i]个,每次选择的范围数目为 [ l i , r i ] [l_i,r_i] [li,ri],选择完的数字下次不能再选。 每次选择完毕后,数目总数范围要求在 [ L , R ] [L,R] [L,R]内,求一共能选择多少次。 思路: 直接二分能选择 m i d mid mid次,算出选择这么多次得到的最小值(每次取左端点就
签到不解释 #include <cstdio>#include <cstring>#include <algorithm>#include <vector>#include <queue>using namespace std;typedef long long ll;const int mod = 1e9 + 7;const int maxn = 1e5 + 7;char s[ma
题意: 一个图,求出删掉每个点后得到的连通块数量。 思路: 算出每个点所在的点双连通分量数目 v i s [ i ] vis[i] vis[i],就可以得出这个点删掉后增加的连通块数目了。同时算出初始的连通块数目 a l l all all,则删掉点 i i i的连通块数目为 v i s [ i ] + a l l − 1 vis[i]+all-1 vis[i]+all−1。 #includ