动态规划
文章平均质量分 78
whzzt
这个作者很懒,什么都没留下…
展开
-
[HNOI2008][BZOJ1010] 玩具装箱toy - 斜率优化
1010: [HNOI2008]玩具装箱toyTime Limit: 1 Sec Memory Limit: 162 MBSubmit: 8231 Solved: 3239[Submit][Status][Discuss]DescriptionP教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京。他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再原创 2016-03-12 19:21:15 · 365 阅读 · 0 评论 -
清华集训2017题解
ioi赛制好评QAQ好像啥都记不得了就不写游记了Day 11.1 生成树计数(tree.cpp)1.1.1. 题意 有 n≤30000n≤30000 n \le 30000 个点,第 ii i 个点有点权 aiai a_i ,设第 ii i 个点的点度为 didi d_i ,那么求求所有生成树的权值和。一个生成树的权值 w(T)w(T) w(T)...原创 2018-02-12 21:43:44 · 2278 阅读 · 0 评论 -
[51nod 1538] 一道难题 -- 特征多项式,多项式取模
齐次线性递推式 (FFT优化)原创 2017-05-05 19:59:13 · 1870 阅读 · 1 评论 -
[BZOJ2655] calc - 拉格朗日插值,dp
简单数学题原创 2017-04-17 12:10:18 · 1591 阅读 · 0 评论 -
[BZOJ1187][HNOI2007] 神奇游乐园 - 插头DP
这么裸的题调得我一脸懵逼 - - 我太弱啦#include"bits/stdc++.h"#define F(i,l,r) for(register int i=l;i<=r;i++)#define readi(x) scanf("%d",&x)using namespace std;const int N=105,M=7,S=3005,inf=0x3f3f3f3e;int dp[N]原创 2016-11-04 00:26:27 · 541 阅读 · 0 评论 -
[BZOJ1435] [ZJOI2009] 多米诺骨牌 - 插头DP/状压DP,容斥原理
题意简述:求n*m的带障碍棋盘中,摆放1*2或2*1的多米诺骨牌且相邻行和相邻列均存在骨牌跨立的方案数。n,m 本蒟蒻的辣鸡题解表示校内OJ有毒……n=m=15就完美地因为常数大了一倍而T掉了。。所以有组特判不要在意……这里不应该写插头的应该写个状压,状态就能咔嚓掉一半。。时间复杂度是大玄学 = = 真难调 弱智+2#include"bits/stdc++.h"#define原创 2016-11-02 17:55:52 · 2792 阅读 · 0 评论 -
[BZOJ4521][CQOI2016] 手机号码 - 数位DP
数位DP小题目,f[i][j][k][p][t][q]表示所有i位以内,以至少连续k+1个j的数开头,4和8的出现情况为p和t,满足条件的情况为q的方案数。然后水一水就好了ovo#include"bits/stdc++.h"using namespace std;typedef long long ll;ll f[12][10][3][2][2][2],l,r;void pre原创 2016-08-11 14:28:44 · 278 阅读 · 0 评论 -
[BZOJ4517] [SDOI2016] 征途 - 斜率优化DP
题目大意:将n个数分成m段,每段求和,求这m段和的方差的最小值*m^2由方差公式 可进一步推导到 (否则没法优化 = =),所以我们只要求出F[i][j]代表前j个数分成i段,这i段的和的平方的最小值即可,这样这就是一个愉快的经典问题了。显然f(i,j)=max{f(i-1,k)+(s[j]-s[k])^2} 令ans(k)=f(i-1,k)+(s[j]-原创 2016-08-09 21:36:11 · 420 阅读 · 0 评论 -
[BZOJ4513] [SDOI2016] 储能表 - 数位DP
数位DP博大精深阿弥陀佛。(回归正题)woc这取模要死,乘法到处爆炸,一不小心就炸longlong,考试肯定fst惨挂只有暴力分。对于子问题F(n,m,k)求∑[0首先将n和m自减后同k一起二进制分解,统一长度后按从高位到低位排,然后我们就可以DP了。这里DP[t][q][k][y][p]表示:t表示当前进行到的位数,即这个子问题求解到了分解出的二进制的前t位。当p=0,这原创 2016-08-03 00:14:32 · 722 阅读 · 0 评论 -
[BZOJ4033] [HAOI2015] T1 - 树形DP
%ydc 丢题解走人OAO %%%ydc#include"bits/stdc++.h"using namespace std;typedef long long ll;const int N=2005;struct E{ int to,cost; E(int _=0,int __=0) { to=_; cost=__;}} ;int n,k,size[N],fa[N];原创 2016-08-01 12:12:03 · 369 阅读 · 0 评论 -
[BZOJ1072] [SCOI2007] 排列perm - dfs/dp
dfs用链表优化一下即可。#include"stdio.h"#include"iostream"#define rep(f,a,b) for(f=a;f<=b;f++)using namespace std;struct node{ int w; node*next; node(){}; node(int _w,node*_n){ w=_w;原创 2016-05-14 19:17:45 · 277 阅读 · 0 评论 -
[BZOJ1040] [ZJOI2008] 骑士 - 基环外向树 + 树形DP
1040: [ZJOI2008]骑士Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 3272 Solved: 1259[Submit][Status][Discuss]Description Z国的骑士团是一个很有势力的组织,帮会中汇聚了来自各地的精英。他们劫富济贫,惩恶扬善,受到社会各界的赞扬。最近发生了一件可怕的事原创 2016-04-29 10:37:19 · 2728 阅读 · 0 评论 -
[BZOJ1037] [ZJOI2008] 生日聚会Party - 高维dp
1037: [ZJOI2008]生日聚会PartyTime Limit: 10 Sec Memory Limit: 162 MBSubmit: 1878 Solved: 1115[Submit][Status][Discuss]Description今天是hidadz小朋友的生日,她邀请了许多朋友来参加她的生日party。 hidadz带着朋友们来到花园中,打算坐成一排原创 2016-04-09 19:10:18 · 510 阅读 · 0 评论 -
[SCOI2009] [BZOJ1026] Windy数 - 数位DP
1026: [SCOI2009]windy数Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 4858 Solved: 2198[Submit][Status][Discuss]Descriptionwindy定义了一种windy数。不含前导零且相邻两个数字之差至少为2的正整数被称为windy数。 windy想知道,在A和B之间原创 2016-03-12 22:58:56 · 344 阅读 · 2 评论 -
AtCoder Peterzavodsk Contest 001 题解
A. Two integers求是 xx x 的倍数且不是 yy y 的倍数的一个数 zz z ,要求 zz z 不超过 10181018 10^{18} 。#include<bits/stdc++.h>#pragma GCC optimize("no-stack-protector")#pragma GCC optimize("-funroll-loops...原创 2018-02-13 14:35:43 · 1334 阅读 · 3 评论