摘要: 状态表示: dp[len][sta]表示当前第len位,上一位为last的情况下满足条件的数的个数。 int f[15][10]; int a[15]; int l,r; int dfs(int len,int last,bool limit) { if(!len) return 1; if(!li 阅读全文
posted @ 2021-02-20 23:08 Dazzling! 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 找规律。 const int N=1e5+10; long double a[N]; long double sum[N]; int n; int main() { cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]; a[i]+=a[i-1]; } for(int 阅读全文
posted @ 2021-02-20 18:28 Dazzling! 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 题意 题目给出一个字符串,可能有P、A、T或其他字符。现在需要根据以下几个条件来判断该字符串能否输出“YES”。 条件1:如果出现P、A、T以外的字符,输出“NO”;初始状态下P和T必须各恰好有一个,且P在T左边,P和T之间至少有一个A,否则输出“NO”。 条件2:PAT、APATA、AAPATAA 阅读全文
posted @ 2021-02-20 16:37 Dazzling! 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 水~。 题意 给定一个由整数组成的集合,集合中的整数各不相同,现在要将它分为两个子集合,使得这两个子集合的并为原集合、交为空集,同时在两个子集合的元素个数n1与n2之差的绝对值|n1-n2|尽可能小的前提下,要求它们各自的元素之和S1与S2之差的绝对值|S1-S2|尽可能大。 思路 首先可以注意到, 阅读全文
posted @ 2021-02-20 11:02 Dazzling! 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 题意 本题输入一个序列,包含N个正整数,如果一个数左边的所有数都比它小、右边的所有数都比它大,那么称这个数为序列的一个“主元”。求序列中主元的个数。 思路 直接暴力判断会超时。 考虑大小的继承关系,假设序列为A,令数组leftMax记录序列A的每一位左边的最大数(含本位,下同),即leftMax[i 阅读全文
posted @ 2021-02-20 10:39 Dazzling! 阅读(20) 评论(0) 推荐(0) 编辑