- 博客(8)
- 收藏
- 关注
原创 codeforces 722C Destroying Array
题意:给出长度为n的序列,每次去掉一个数,使得序列分成几块,问当前权值最大块的权值。 思路:提供两种,第一种用multiset和前缀和直接暴力模拟。 第二种用并差集,假设坐标i为一个去掉的数,那么f[i]记录的是i所在连续的去掉的数的区间的最左端,其余的看代码QAQ。第一种#include<bits/stdc++.h>using namespace std;long ...
2018-04-17 19:14:04 215
原创 Ural 2018 The Debut Album
题意:一个由’1‘,‘2’组成的长度为n的字符串,要求连续的1不超过a个,连续的2不超过b个,求满足条件的字符串的数量,答案模1e9+7; 思路:dp[i][j]表示长度为i,以j结尾,满足条件的字符串的数量;#include<bits/stdc++.h>using namespace std;const int Mod=1e9+7;long long dp[50005][...
2018-04-14 15:02:43 188
原创 Ural 1014 Product of Digits(水题)
题意:给出n,求最小正整数q,q各个位置上的数的乘积为n; 太水了,就只贴代码了;#include<bits/stdc++.h>using namespace std;int s[100];int main() { int n; scanf("%d", &n); if(n == 0) { printf("%d\n", 10...
2018-04-14 14:39:06 215
转载 Ural1136-Parliament
博客出处:https://blog.csdn.net/Walton_/article/details/53366909 题目大意 给出一棵二叉搜索树左子树+右子树+根的后序遍历,要求输出右子树+左子树+根的遍历顺序解题思路 根据给出的遍历顺序可知最后一个节点一定是根节...
2018-04-13 20:36:06 128
原创 USCAO 1.3.2 Barn Repair
题意:给出l头牛的坐标,要求用n块板子讲l头牛拦住,要求板子总长最小。思路:首先如果只用一块板子的话,那么长度sum为最后的牛的坐标-第一条牛的坐标+1,用n块板子相当于在一块板子上切n-1刀,那么只需要求出相邻距离最大的n-1块,用sum减去这n-1块的距离即可; /*ID: taoxiaa1PROG: barn1LANG: C++*/#include<bits/stdc++...
2018-04-10 19:52:35 150
原创 UVA - 10328
题意和思路于zoj3747类似zoj3747博客链接:https://blog.csdn.net/qq_36542637/article/details/79842141只不过数据范围大,使用了java大数类import java.math.*;import java.util.*;public class Main { public static BigInteger dp[][] = n...
2018-04-07 15:55:57 180
原创 ZOJ 3747
参考博客:https://blog.csdn.net/cc_again/article/details/24841249题意:给出长度为n,由字符'G','P','R',组成的字符串,要求至少有m个连续的'G’,至多有k个连续的'R'。问有多少满足条件的字符串。思路:可以转换成求最多有n个连续的'G',至多有k个连续的'R'的字符串数量sum和最多有m-1个连续的'G',至多有k个连续的'R'的字...
2018-04-07 15:52:02 243
原创 CodeForces 429B Working out
题意:有两个老哥分别从左上角走到右下角,左下角走到右上角,中途要求相遇一次,相遇处的权值不算,求两位老哥的路径权值最大和;思路:dp1[i][j]为左上角走到坐标i,j的最大值,同理有dp2,dp3,dp4分别对应其他三个角,那么答案为:max(max(sum,dp1[i][j-1]+dp3[i+1][j]+dp2[i-1][j]+dp4[i][j+1]),max(sum,dp1[i-1][j]+...
2018-04-07 15:36:45 153
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人