做完这道题,我明白了人生的一个巨大道理,那就是: 其他题研究两下,做出来几百行。数论码字前研究半天,做出来十几二十行。做完特别没有成就感。。。 首先说下这题题意:首先,定义一个函数f[n],即为他所有因子和,他自带一个叼叼的公式 ,然后问对一个给定的n,从1到n,他们的f[n]中有几个...
分类:
其他好文 时间:
2015-08-05 06:26:32
阅读次数:
88
构造
小于10^5的直接输出1
大于10^5的构造如下的串
1111...12222...233....3.....t,t+1,t+2..
设长度为n,每种字符出现了L[i]次则不同的串有 n*n+n-sigma(L[i])=2*K
大约估计一个n,用贪心求出L
Virtual Participation
Time Limit: 2000/1000 MS (Java...
分类:
其他好文 时间:
2015-08-03 14:30:14
阅读次数:
176
通道题意:给出一个字符串和一个k,将字符串分成k段,每段的求法是sigma【(i ? P OS) ? P OS】,问如何分段使得总和最小思路:设dp[i][j] 为将前j个字符分成i段的最小值。a[i]为第i个字符在原始字符串的位置。那么dp[i][j] = min(dp[i][j],dp[i-1]...
分类:
其他好文 时间:
2015-08-03 14:26:09
阅读次数:
150
Description小B有一个序列,包含N个1~K之间的整数。他一共有M个询问,每个询问给定一个区间[L..R],求Sigma(c(i)^2)的值,其中i的值从1到K,其中c(i)表示数字i在[L..R]中的重复次数。小B请你帮助他回答询问。Input第一行,三个整数N、M、K。第二行,N个整数,...
分类:
其他好文 时间:
2015-08-02 18:11:01
阅读次数:
88
题目链接:病毒侵袭
解析:利用end数组记录各病毒的编号,然后统计即可。
AC代码:
#include
using namespace std;
const int maxn = 502;
const int max_word = 202;
const int max_text = 10002;
const int sigma_size = 128;
s...
分类:
其他好文 时间:
2015-08-01 01:13:24
阅读次数:
135
??
题意:有n种卡片,吃零食的时候会吃到一些卡片,告诉你在一袋零食中吃到每种卡片的概率,求搜集齐每种卡片所需要买零食的袋数的期望。
思路:先状态压缩,然后概率DP
用d[i]表示由状态i到目标需要再买多少包,则状态转移方程为d[i] = p'*(d[i]+1) + sigma(d[ i | (1
#include
#include
#include
#include
#...
分类:
其他好文 时间:
2015-07-31 20:22:44
阅读次数:
120
题意:有n 个玩具需要装箱,每个玩具的长度为c[i],规定在装箱的时候,必须严格按照给出的顺序进行,并且同一个箱子中任意两个玩具之间必须且只能间隔一个单位长度,换句话说,如果要在一个箱子中装编号为i~j 的玩具,则箱子的长度必须且只能是l=j-i+sigma[c[k]],规定每一个长度为 l 的箱子...
分类:
其他好文 时间:
2015-07-31 18:05:56
阅读次数:
155
题目链接:Keywords Search
解析:直接开个end数组,统计一下即可。
AC代码:
#include
using namespace std;
const int max_word = 500005;
const int sigma_size = 26;
const int max_text = 1000005;
struct Trie{
...
分类:
其他好文 时间:
2015-07-31 16:14:20
阅读次数:
122
题意:通式为3*i*(i-1)+1(n>=1)的数列中每个数可用若干次,求构成给定n所需的最小个数;思路: 设构成n所需个数为x,则n=3*1*(1-1)+3*2*(2-1)+...+3*x*(x-1)+x;当时推到这一步就没有再做下去了; 然后整理得n=6*(sigma((i*(i-1)/...
分类:
其他好文 时间:
2015-07-27 10:40:25
阅读次数:
115
[题意]
给定一颗树上的几条链和每条链的权值,求能取出的不含有公共节点的链的最大权值....
[解]
预处理每条链的lca
树形DP, d[i]表示取到这个节点时可以得到的最大值 , sum[i]=sigma( d[k] | k 是i的子节点)
如果不取i d[i]=sum[i]
如果取i , e是lca为i的链则 d[i]=max(d[i],e的权值+sigma(sum[k])-s...
分类:
其他好文 时间:
2015-07-23 10:46:56
阅读次数:
183