DP
文章平均质量分 62
SindarDawn
QZOIer,FTCer,UESTC ACMer,梦想成为大神的Yuta
展开
-
leetcode刷题记录&题解&c++代码 剑指 Offer 10 I&II
剑指 Offer 10- I. 斐波那契数列题意:求斐波那契数列的f(n),n≤100n \leq 100n≤100思路:直接模拟class Solution { static const int modd=1e9+7;public: int fib(int n) { int f[100+5]={0,1}; for(int i=2;i<=n;i++) f[i]=(f[i-1]+f[i-2])%modd; r原创 2021-04-20 19:16:18 · 103 阅读 · 0 评论 -
UVa1625 Color length[DP][差分]
Cars painted in different colors are moving in a row on the road as shown in Figure 1. The color of each car is represented by a single character and the distance of two adjacent cars is assumed to be原创 2016-11-02 20:05:05 · 370 阅读 · 0 评论 -
NOIP模拟题 [递推][DP][搜索]
T1: 题意: 要求将1-n的数排成两列,使得两列数的个数相等且都递增,还要求其中一列比另一列对应位置上的数大。 分析: 两个方法: 1.先写个暴力打表找规律,因为反正也要写对拍。 2.分析一下: 还涉及到除法取mod,求逆元,我用的费马小定理,还可以exgcd,线性递推。#include#include#include#include#include#includ原创 2016-11-13 22:00:13 · 737 阅读 · 0 评论 -
NOIP模拟题 [递推][优化][dp][线段树][离散]
稳啊稳啊。对拍大法好。 不过最开始看题的时候要记住评估一下正解难度和暴力难度,T3明明可以搞60分的,可惜了。 还有就是,写程序之前一定要想清楚!处理好特殊情况,确保算法在实现过程中的正确性!对拍出错再来改代价太大!T1: 题意: 对一个给定字符串进行多次复制黏贴操作,求最后得到字符串的前n位,若字符串过长,只保留前m位。 分析: 看了下m的大小,觉得非常酸爽。 因为如果正向处理的话,原创 2016-11-14 16:59:58 · 877 阅读 · 0 评论 -
NOIP模拟题[递推][并查集][DP]
不能换考试策略。 数组大的那一维定义在前面可以减小常数(我用的时候有4倍)。T1: 题意: 求一个数列在可以修改一个数的情况下最长连续上升子序列。 分析: 用第二维标记一下改没改过,乱搞一下就可以了(从前向后推一次,从后向前推一次,继承修改和修改当前数交叉修改)。注意为了防止重复修改,修改区间不要重复。 加强版:可修改一个区间:见紫书第八章。#include<cstdio>#inclu原创 2016-10-31 21:49:42 · 657 阅读 · 3 评论 -
NOIP模拟题 [SPFA][DP][栈结构]
冷静。 我不想再集齐傻逼错了还是认真检查吧。T1: 题意: 在一个有的点不能走的图上求最少经过多少不能走的点能走到某一点或图的边界。 分析: 其实就是图上最短路,走个SPFA,因为更新很少所以不会T; 我下次再也不用dfs玄学大法乱搞图论了,再也不!#include<cstdio>#include<iostream>#include<cmath>#include<cstdlib>原创 2016-11-11 15:26:13 · 694 阅读 · 0 评论 -
hzwer2015.9.13 NOIP模拟题 explo seq earth[DP][数论][二分][SPFA]
一套有难度的题,据说平均水平一百多,我感觉…差不多吧。 静下心来搞程序。 T1. 题意:对一个数给操作,分别是获得这个数乘以某个数的收益且成比例减小此数,或相反。求最后的最大收益。 分析:反向DP,因为当前决策会对后来产生影响,所以如果正向的话显然是不能存的,然后可以发现,现在的能力值对后面的影响是成正比的,并且这个无法用单价的提高来替换——毕竟单价本身不影响后面的收益,不过想到这里我们就可原创 2016-10-17 13:06:29 · 472 阅读 · 0 评论 -
湖南NOIP集训模拟题DAY1 BY ExfJOE [贪心][DP][二分]
解题报告: 一. Maximum 题意:给定一串序列,根据输入的变量求其中的任意两个变量xor,and或or的最大值; 分析: Std:FWT; 不会的话,and可以用每个位上有1的个数来贪心判断,具体的实现就是递归位数,把当前正在枚举的位数为1的数存在一个数组里,如果当前位数为1的数大于等于二就把筛选后数组传入下一步,否则把筛选前数组传入下一步;#include<cstdio>#in原创 2016-10-12 18:00:51 · 1725 阅读 · 2 评论 -
NOIP模拟题 [模拟][DP][线段树]
抽象题目所求性质。 熟练模板。T1: 题意: 把一序列重复,求一区间内某字符出现次数。 分析: 显然把超出该区间长度的直接乘法算就行了,注意一下并区间,区间从1开始导致len取不到的问题处理。思路很简单,但可能会被包装在比较难的题里面。解锁新错误:读入优化没开longlong 不知道什么时候才能把这些傻逼错集齐。#include<iostream>#include<cstdio>#i原创 2016-11-10 20:37:06 · 1449 阅读 · 0 评论 -
NOIP模拟题 [DP][RMQ][分块]
要稳一点啊。 一定要对拍! 然后就是加快写对拍的速度,给最后一道题多争取一点时间。 T1: 题意:给定n,k,对于1-n的所有排列,求出逆序对数为k的所有排列数。 分析:fa一fa图我们会发现,其实这里存在着一个状态转移,即对于当前位选出的数让后面增加几个逆序对(其实就是模拟自己生成满足一定条件的序列)。因为很容易证明前面的数列到底是什么并不重要,所以这道题只需要f[i][j],i为还需要原创 2016-10-29 15:23:31 · 789 阅读 · 2 评论 -
UVa10817 Headmaster's headache[状压DP]
最后再跟自己强调一次,Think twice,code once. Headmaster’s Headache The headmaster of Spring Field School is consider- ing employing some new teachers for certain subjects. There are a number of teach- ers原创 2016-11-03 11:42:32 · 556 阅读 · 0 评论 -
NOIP模拟题 [DP][二分][树剖][树上差分]
认认真真地想…… T1: 题意:求三个字符串的LCS; 分析: 开三维,只在都相等的时候考虑加1,因为每个配对点都只顺序枚举一次,所以不会漏不会重。#include<cstdio>#include<iostream>#include<cmath>#include<cstdlib>#include<cstring>#include<string>#include<algorithm原创 2016-11-09 20:03:19 · 659 阅读 · 0 评论 -
noip模拟题 小奇2 by hzwer[DP][路径压缩][分类讨论][位运算]
这么颓下去,迟早要完。这套题只考了2h,感觉还不错,T2做过类似的所以A了,T1和T3基本上也没什么大问题,关键就是要深入挖掘问题特质,学会分类讨论(很多题都可以剪掉大量的枝,比如T1,小奇1的T3,noip2015 day1 T3,都是需要有这种分类意识的。 T1: 题意:在坐标轴上有一些点有收益,问从0开始,每次只能向前跳4(0+4=4)步或7(0+7=7)步,最大收益是。原创 2016-10-27 19:21:05 · 556 阅读 · 0 评论 -
NOIP模拟题[dfs][DP]
深入思考,仔细读题,抽象化问题本质,寻找相同点。 DP的话,思考一种可以完美概括影响又没有多存无意义信息的表示。 所以要分析什么信息对后来的计算有用。T1: 题意: 判断一棵子树所有节点的编号是否刚好为一完整区间。 分析: 简单分析一下,可以一次dfs搞定,就上传最小节点编号,最大节点编号,然后比较一下子节点个数即可。#include<cstdio>#include<iostream>原创 2016-11-07 18:25:59 · 543 阅读 · 0 评论 -
NOIP模拟题 River Path Word[排序][贪心][DP]
一.Word 题意:给定n个长度小于100的,全为大写字母的单词,求一共有多少种,判断是一种的标准是:两个单词中每个字母的个数都相同;n<=10000; 分析:只考虑字母个数则可以对一个单词中的字母进行排序,排除其他干扰,然后再对单词进行排序,即可把有相同特征的单词聚集在一起线性判断; 当然也有人直接用set,巧妙运用库函数也是一种方法,而且set也是用的排序二叉树实现的判重,先排序以后再扔进原创 2016-10-12 18:10:09 · 396 阅读 · 0 评论 -
51nod1597 有限背包计数问题[DP][分类讨论][前缀和]
有限背包计数问题 SkyDec (命题人) 基准时间限制:2.333 秒 空间限制:131072 KB 分值: 160 你有一个大小为n的背包,你有n种物品,第i种物品的大小为i,且有i个,求装满这个背包的方案数有多少 两种方案不同当且仅当存在至少一个数i满足第i种物品使用的数量不同Input 第一行一个正整数n 1<=n<=10^5 Output 一个非负整数表示答案,你需要将答案原创 2016-10-25 19:00:42 · 1430 阅读 · 0 评论 -
bzoj4197[Noi2015]寿司晚宴 [状压DP]
4197: [Noi2015]寿司晚宴Time Limit: 10 Sec Memory Limit: 512 MB Submit: 652 Solved: 413 [Submit][Status][Discuss] Description为了庆祝 NOI 的成功开幕,主办方为大家准备了一场寿司晚宴。小 G 和小 W 作为参加 NOI 的选手,也被邀请参加了寿司晚宴。在晚宴上,主办方为大家原创 2016-10-25 11:55:26 · 761 阅读 · 6 评论 -
NOIP2015 day2 [二分][DP][树剖]
只弄出来前两道,第三道链剖要爆栈我弄了一下午决定放一放。 T1: 题意:在一个n长序列中取走m个数,使得任意相邻数之间差值最小值最大。 分析:要最大值最小最小值最大,典型的二分答案套路。二分答案以后把不满足的数给去掉(因为去掉前一个肯定不会比去掉当前这个更优),然后注意最后一个也要算,如果要用的次数不够了就不满足,然后就没了。#include<iostream>#include<cstdio原创 2016-10-23 18:27:13 · 742 阅读 · 4 评论 -
NOIP模拟题[贪心][DP][数论]
改程序之前,写程序之前,确保自己理解了,不然效率会很低。 写程序少用复制黏贴,容易细节出错,不好调试。 T1: 题意: 给定两字符串,判断B串是否是A串的字串且输出B串每个字母的匹配位置字典序最大的匹配方案。 分析: 典型贪心,特别是“字典序最大”,不过好久没写贪心了有点迟钝233. 从后向前遍历B串和A串,找到B串单词的第一个匹配位置即可比较下一个。#include<cstdio>原创 2016-11-02 17:28:07 · 701 阅读 · 2 评论