hdu 5459 Jesus Is Here(dp)
문제 풀이 의 사고 방향.
사실 모든 c 는 이 cff 에 대응 하고 꼬치 i 는 꼬치 i - 1 과 i - 2 로 생 성 되 기 때문에 답 도 i - 1, i - 2 를 통 해 얻 을 수 있 습 니 다.
각 문자열 에 대해 서 는 4 개의 값 dis (각 c 의 위치 와), len (문자열 의 길이), cnct (몇 개의 c), sum (답) 의 구체 적 인 이전 공식 은 코드 를 참조 합 니 다.
코드
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
typedef long long ll;
const int maxn = 201314;
const int mod = 530600414;
ll dis[maxn+5], len[maxn+5], cnt[maxn+5], sum[maxn+5];
void init () {
len[1] = cnt[1] = 1;
dis[1] = sum[1] = 0;
len[2] = 2, cnt[2] = 0;
dis[2] = sum[2] = 0;
for (int i = 3; i <= maxn; i++) {
dis[i] = (dis[i-2] + dis[i-1] + cnt[i-1] * len[i-2] % mod) % mod;
len[i] = (len[i-1] + len[i-2]) % mod;
cnt[i] = (cnt[i-1] + cnt[i-2]) % mod;
ll add = cnt[i-2] * (dis[i-1] + cnt[i-1] * len[i-2] % mod) % mod;
ll del = cnt[i-1] * dis[i-2] % mod;
sum[i] = ((sum[i-1] + sum[i-2] + add - del) % mod + mod) % mod;
}
}
int main () {
init();
int cas, n;
scanf("%d", &cas);
for (int kcas = 1; kcas <= cas; kcas++) {
scanf("%d", &n);
printf("Case #%d: %lld
", kcas, sum[n]);
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.