题目链接: D2. The Wall (medium) time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Heidi the Cow is aghast: cracks in the northern Wall? Zombies gathering outside, forming groups, preparing their…
The Wall (medium) Heidi the Cow is aghast: cracks in the northern Wall? Zombies gathering outside, forming groups, preparing their assault? This must not happen! Quickly, she fetches her HC2 (Handbook of Crazy Constructions) and looks for the right c…
题意: 给一排砖,每列的高度$a_i$,问是否可以放1*2的砖,使得n列高度一样,砖只能横着放 思路: 每两个相邻的高度相同的砖可以变成大于等于它的高度的任意高度 所以像这样的 123321 是不满足题意的,因为两边的相同的高度没法合在一起 只有像这样的 321123 才满足 所以,满足题意的墙应该像上述一样几个“凹”的高度的组合加上最多一列高度为h的墙 这个h应该满足h<=max(a),准确来说应该是等于 拿栈搞一搞就行了 代码: #include<iostream> #include…
https://codeforces.com/problemset/problem/1081/C 这道题是不会的,我只会考虑 $k=0$ 和 $k=1$ 的情况. $k=0$ 就是全部同色, $k=1$ 就是左边一个色右边一个色, $m(m-1)$ ,再选转折点有 $i-1$ 种 $C_{i-1}^{1} $( $i$ 个球. $i-1$ 个空挡都可以插). 到 $k=2$ 呢?可以是三种不同颜色,也可以是左右左,也就是 $m(m-1)(m-1)$ ,再选转折点有 $C_{i-1}^{2}$ .…
Codeforces 题面传送门 & 洛谷题面传送门 首先对于这样的题目,我们应先考虑如何计算一个括号序列 \(s\) 的权值.一件非常显然的事情是,在深度最深的.是原括号序列的子序列的括号序列中,必定存在一个满足前面只由一段左括号,后面只由一段右括号组成,因此我们考虑枚举这中间位置在原括号序列中对应哪个位置,那么假设这个断点位于 \(i\) 和 \(i+1\) 之间,我们设 \(i\) 及之前有 \(x\) 个左括号,\(i+1\) 及之后有 \(y\)​​ 个右括号,那么显然以这个位置为端点…
题目链接: Wall Painting Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2681    Accepted Submission(s): 857 Problem Description Ms.Fang loves painting very much. She paints GFW(Great Funny Wall) ev…
题目链接 下午比赛的时候没有想出来,其实就是int型的数分为30个位,然后按照位来排列枚举. 题意:求n个数里面,取i个数异或的所有组合的和,i取1~n 分析: 将n个数拆成30位2进制,由于每个二进制位异或后相加和原来的数异或相加是一样的,所以只需要对每一位累加计算,用组合数学取数就行了,奇数个异或得1,偶数个异或得0,再乘以自己的二进制位值,复杂度O(30*n*n) #include <iostream> #include <cstdio> #include <cmath…
题目链接: C. Vanya and Label time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output While walking down the street Vanya saw a label "Hide&Seek". Because he is a programmer, he used & as a…
http://codeforces.com/problemset/problem/399/D 题意:给出n和m,表示在一个n*n的平面上有n*n个方格,其中有m块已经涂色.现在随机选中一块进行涂色(如果已经涂色跳过,也消耗时间),消耗1个步骤.终止条件为每行每列都有至少有一块瓷砖被涂色.问说涂成满意的情况需要时间的期望. 思路:把整个方格分成四部分,如果选择左上角上的一块,那么行和列都将被涂上一个:右上角的话,行被涂上一个,列不变:左下角的话,行不变,列被涂上一个:右下角,行列都不变. 状态转移…
http://codeforces.com/contest/932/problem/E 题意:   可以看做 有n种小球,每种小球有无限个,先从中选出x种,再在这x种小球中任选k个小球的方案数 选出的x种不一样,任选k个球的顺序不一样 均视做不同的方案 f[i][j] 表示选了i个小球,来自j种的方案数 那么答案就是 考虑选的第i个球是否是选过的一种, f[i][j]=f[i-1][j]*j+f[i-1][j-1]*(n-(j-1)) #include<cstdio> #include<…