吉哥系列故事——完美队形I
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)
Total Submission(s): 2652 Accepted Submission(s): 862
Problem Description
吉哥这几天对队形比较感...
分类:
其他好文 时间:
2015-10-21 14:11:11
阅读次数:
165
题意: 如果一个整数符合下面3个条件之一,那么我们就说这个整数和7有关: 1、整数中某一位是7; 2、整数的每一位加起来的和是7的整数倍; 3、这个整数是7的整数倍; 给定一个区间[L,R],问在此区间内和7无关的所有数字的平方和。思路: 第一步好解决,只是数位DP的基础。第二步是十进制...
分类:
其他好文 时间:
2015-10-03 18:10:18
阅读次数:
250
这题目上学期就看了,不过最近发现可以用马拉车来解,而且还是基本算法。 稍微对回文串成立条件变形一下即可。 1 /* 4513 */ 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #i...
分类:
其他好文 时间:
2015-10-02 17:15:39
阅读次数:
147
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4513题意比最长回文串就多了一个前面的人要比后面的人低这个条件,所以在p[i]++的时候判断一下s[i-p[i]]#include#includeusing namespace std;const int...
分类:
其他好文 时间:
2015-10-01 21:46:13
阅读次数:
239
题目:
在一个长度为n的数组里面找回文串,要求回文串从中间向两边一次递减
思路:
manacher算法:时间复杂度O(n)
在manacher过程中添加限制语句保证题目要求即可
st[i-p[i]]st[i-p[i]+2]///表示回文串的左侧部分,前面要比后面的小
代码:
#include
#include
#define MAXN 100010
using...
分类:
其他好文 时间:
2015-08-07 20:15:58
阅读次数:
103
分析:dp[i]表示前i天的最大收入。
现排序,然后dp[i]=max(dp[i],dp[a[j].s-1]+a[j].v)(a[j].e
#include
#include
using namespace std;
#define N 110
int dp[N]; //dp[i]表示第i天的最大收入
struct Node
{
int s,e,v;
} node[N*1...
分类:
其他好文 时间:
2015-06-07 17:31:39
阅读次数:
153
题意:如果一个整数符合下面3个条件之一,那么我们就说这个整数和7有关——
1、整数中某一位是7;
2、整数的每一位加起来的和是7的整数倍;
3、这个整数是7的整数倍;
现在问题来了:吉哥想知道在一定区间内和7无关的数字的平方和。
分析:数位DP,关键内容如下。
(pre0+i)%7用于处理各个位数之和时候为7的倍数,(pre1*10+i)%7用于处理这个数是否为7的倍数。
#...
分类:
其他好文 时间:
2015-05-20 09:53:00
阅读次数:
134
分析:该題可以通过求最长回文串的方法来解决;求最长回文串使用manacher算法,O(n)时间复杂度。
注意:while(a[i-len[i]]==a[i+len[i]] && a[i-len[i]]
#include
using namespace std;
#define N 100010
int len[N<<1];
int a[N<<1];
int Manacher(int n)
...
分类:
编程语言 时间:
2015-05-05 21:57:17
阅读次数:
190
分析:最长公共递增子序列,把数据反向存储一遍,求正反两组数据的LCIS。另外注意边界的条件判断。还有如果取出的新队列有奇数个人或偶数个人要单独判断。
#include
using namespace std;
#define max(a,b) ((a)>(b)?(a):(b))
int dp[202];
int a[202];
int b[202];
int LCIS(int n)
{
i...
分类:
其他好文 时间:
2015-05-05 14:28:29
阅读次数:
150