1.2.1#include #include #define up 6#define down 4#define stop 5int main(int argc, const char * argv[]){ int n = 0; while (scanf("%d",&n) != EOF)...
分类:
其他好文 时间:
2015-05-17 18:07:02
阅读次数:
90
分析:从前往后递推第一个和sum,然后往后依次划分,当第一次能够划分完,就得到最小的结果了。
#include
using namespace std;
int a[10005];
int P,M,T,K;
void solve()
{
int sum,cursum,i,j,j2;
bool flag;
flag=false;
for(i=0,j2=0,sum=0;i<M;i++)...
分类:
其他好文 时间:
2015-05-17 13:47:50
阅读次数:
114
分析:数位DP的入门联系题,通过该題对数位DP有感觉了;dp[len][presum]代表长度为len权值不大于presum的数。记忆化搜索提高效率,除边界(因为边界上算出来的答案在其它数中可能是不完整的)外记录dp[len][presum]的值,下次发现以前计算过就直接return;dfs(len, presum, fg)表示求长度为len,不超过pre的全部符合条件的值。fg是控制边界的。
...
分类:
其他好文 时间:
2015-05-14 08:46:33
阅读次数:
108
分析:这题也可以自己写,但是使用STL的函数next_permutation就非常方便了。
#include
#include
#include
using namespace std;
int main()
{
int t,n;
char a[100];
cin>>t;
while(t--)
{
cin>>n>>a;
if(next_permutation(a,a+str...
分类:
其他好文 时间:
2015-05-13 23:16:43
阅读次数:
114
分析:两个不同方向开始跳跃,跳过数字相同,就相当于求回文子序列了。用dp求出从一个位置到另一个位置的最长回文子序列,相当于把[1-n]分成区间[1-x]和[x+1,n],结果就是两区间最长回文串子序列之和。枚举中间点i,求出max(dp[1,i]+dp[i+1,n])即得最终结果,回文非连续序列,从前往后,从后往前序列相同,求出区间内最长回文序列,由于是环,分成两部分,1~i,i+1~n,A可从i...
分类:
其他好文 时间:
2015-05-13 22:02:01
阅读次数:
152
题意:地图是一个编号为1~n的节点的树,节点1是敌方基地,其他叶节点是我方基地。敌人基地会出来敌人,为了防止敌人攻进我方基地,我们可以选择造塔。每个节点只能造一个塔,节点i有ki种塔供选择,价值和攻击力为price_i, power_i,攻击力power_i是让敌人经过这个节点时让敌人的HP减少power_i点。因此从敌人基地到我方任意一个基地的路径,这条路径上所有塔的攻击力之和,就是这个基地的抵...
分类:
其他好文 时间:
2015-05-13 19:52:34
阅读次数:
309
分析:直接模拟即可,这里用队列记录访问过的点,栈记录父节点。另外要注意的是在strlen(str)计算字符串的时候要预先计算出来保存在变量中,for直接用,如果for循环直接调用strlen,那么每次都会重新计算,该題字符串的数据量很大,就会存在大量的无用计算,还导致了一次TLE,唉!以前没注意到这里。
#include
#include
#include
#include
using name...
分类:
其他好文 时间:
2015-05-13 14:51:29
阅读次数:
103
分析:DFS即可。
#include
using namespace std;
bool map[21][21];
bool vis[21];
int ans[21],num,m;
void init()
{
int i,a;
memset(map,false,sizeof(map));
for(i=1;i<=20;i++) //构图
{
map[i][ci...
分类:
其他好文 时间:
2015-05-13 14:45:50
阅读次数:
139
分析:该題可以用线段树做,也可以用树状数组做;感觉树状数组容易一些,这里就用树状数组了。这里保存字符数组的下标从1开始,树状数组初始化从3开始,因为只有大于等于3使才可能有符合要求的字串出现,最终计算L到R区间的个数时要用getsum(R)-getsum(L+1),因为可能有符合要求的str[L-1],str[L],str[l+1]也被算进去了,实际上他并不在区间L到R内。更新时要注意三种情况,P...
分类:
编程语言 时间:
2015-05-13 10:42:28
阅读次数:
173
Digital Roots
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 57047 Accepted Submission(s): 17799
Problem Description
The digita...
分类:
编程语言 时间:
2015-05-12 18:55:33
阅读次数:
127