2016.4.9 NOI codevs动态规划专练】的更多相关文章

1.NOI 最大子矩阵 1:最大子矩阵 总时间限制:  1000ms 内存限制:  65536kB 描述 已知矩阵的大小定义为矩阵中所有元素的和.给定一个矩阵,你的任务是找到最大的非空(大小至少是1 * 1)子矩阵. 比如,如下4 * 4的矩阵 0 -2 -7 09 2 -6 2-4 1 -4 1-1 8 0 -2 的最大子矩阵是 9 2-4 1-1 8 这个子矩阵的大小是15. 输入 输入是一个N * N的矩阵.输入的第一行给出N (0 < N <= 100).再后面的若干行中,依次(首先从…
1.codevs1040 统计单词个数 1040 统计单词个数 2001年NOIP全国联赛提高组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题目描述 Description 给出一个长度不超过200的由小写英文字母组成的字母串(约定;该字串以每行20个字母的方式输入,且保证每行一定为20个).要求将此字母串分成k份(1<k<=40),且每份中包含的单词个数加起来总数最大(每份中包含的单词可以部分重叠.当选用一个单词之后,其第一个字母不能再用.例如字…
dp专练,终于克服了一次自己对dp的恐惧,磕出来一道题. 得分情况: T1:0 T2:0 T3:0 emmmm,磕出来的题是T2,但是因为初始化和int long long的原因爆零了 T1:n只狼排成一排,每个狼的攻击力分a,b两种,当消灭第i只狼时,需要付出的代价是ai+左右两只狼的b攻击力,消灭i后第i+1和i-1只狼会重新排在一起(如果有的话),求消灭n指只狼的最小代价 很简单的一道区间dp,但是当时我想这个消灭的顺序不一样代价也不一样,所以没想区间dp,直接开始想T2了. 正解:dp[…
递推专练3 描述 Description 圆周上有N个点.连接任意多条(可能是0条)不相交的弦(共用端点也算相交)共有多少种方案? 输入格式 Input Format 读入一个数N.<=N<=. 输出格式 Output Format 由于结果可能很大,你只需要输出这个答案mod 12345的值. 一个点只能有两个状态,要么连线,要么不连:所以让新加入的这个点和所有边连线,能将图分成两个部分,所以此时的方案数就是两个部分的累计和:还有一种情况是这个点不和任何点相连,所以要单独加上f[i - 1]…
1.6049:买书 总时间限制:  1000ms 内存限制:  65536kB 描述 小明手里有n元钱全部用来买书,书的价格为10元,20元,50元,100元. 问小明有多少种买书方案?(每种书可购买多本) 输入 一个整数 n,代表总共钱数.(0 <= n <= 1000) 输出 一个整数,代表选择方案种数 样例输入 样例输入1: 20 样例输入2: 15 样例输入3: 0 样例输出          样例输出1:           2         样例输出2:       0    …
dp练习. codevs 1048 石子归并 区间dp #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> #include<iostream> using namespace std; ][],w[],sum[]; inline int read() { ,f = ;char ch = getchar(); ; + ch - '; return x * f…
今天很乱乱乱乱 根本不想写代码 玩了一早上了 昨晚失眠了 今天又懵逼了 中午就要走了 明天就要考试了 考完试回来就要补文化课了 现在我的内心很平静 因为已经紧张的冻结了 你知道什么叫彷徨么? 机房里的孩子现在就是 不少人考完后就要退役 退役就要诀别这个机房 高三学长昨晚说这是在机房的最后一个晚上 高三最猥琐的那个学长昨天告诉我考完试可能一辈子也不会再见到 不会再有出去学习一起浪的夜晚 不会再有认真手推的DP方程 不会再有一行一行思路完美但看起来就是很恶心的代码 不会再有跑调醉人的歌声 高三要毕业…
这是第一次全部做出来的依次练习了,有一些都是做过两遍了的,但是还是错了几回,更多时候我还是应该多注意下细节,就好像章爷笑我 的一样,像什么vis[]标记没清0,什么格式错误,还有什么题目没看清,还是的注意一下了. 地址:8.1搜索练习 Problem A POJ 2488 A Knight's Journey 题目大意就是说帮你给你个P*Q的棋盘,让马一次全部走完,每个点只能走一次,而且要按照字典序输出(这句话最坑!!!). 这道题做过了两三次了,却老是被那句“字典序输出”给坑死.第一次看到这道…
这一次都主要是贪心练习 练习地址http://acm.hust.edu.cn/vjudge/contest/view.action?cid=26733#overview Problem APOJ 1328 对于每一个点,可以找到他在x轴上的可行区域,这样的话就变为了对区间的贪心. #include<iostream> #include<stdio.h> #include<string.h> #include<map> #include<vector&g…
此次练习的地址:  http://acm.hust.edu.cn/vjudge/contest/view.action?cid=26732#overview 密码 acmore Problem A(POJ1753) 题目: Flip Game 直接拿二进制模拟暴力枚举 之前已经做过了的Flip Game(枚举) 这次又WA了两次才AC,细心细心再细心!!!代码 #include <cstdio> #include <cstring> #include <algorithm&g…
handsomecui的blog地址为:http://www.cnblogs.com/handsomecui/ 本人网站为:handsomecui.top 引言:本次主要练习单列集合:Collection,List,ArrayList,LinkedList,Vector,Set,HashSet, 1.Collect: 单列集合的跟接口: 2.List: 如果是实现了List接口的集合类,具备的特点: 有序,可重复 3.ArrayList:ArrayList的底层是使用了Object数组实现的,特…
1.求和问题 ★   输入文件:sum.in   输出文件:sum.out   简单对比时间限制:1.2 s   内存限制:128 MB [问题描述]     在一个长度为n的整数数列中取出连续的若干个数,并求它们的和. [输入格式]     输入由若干行组成,第一行有一个整数n    第二行有n个整数    第三行有一个整数m    下面m行,每行两个整数i与j(i<=j),表示求和的起始和终止位置. [输出格式] 输出有m行, 每行一个整数,表示这个数段数列的和. [输入样例] 输入文件 8…
数论基础 专题测试  命题人:清华大学 王赢绪 /* 水题 答案为C(n-k,m-1) 预处理阶乘和逆元,O(1)算答案 开始读错题了!!!朱一乐!!! */ #include<iostream> #include<cstdio> #include<cstring> #define N 1000003 #define mod 1000000007 #define ll long long using namespace std; ll fac[N]={,},inv[N]…
照例先放个链接$QwQ$ $A$ $QwQ$之前写过题解辣. 重新说下趴,就给横坐标纵坐标也开点,然后每个点连向对应横纵坐标边权为$0$,相邻横坐标点之间连边,相邻纵坐标点之间连边,跑个最短路就完事$QwQ$ 还有一种想法是先按$x$排序相邻相连,再按$y$排序相邻相连.因为两个不相邻的一定能通过两个相邻达到,所以是对的. $upd:$ 我是真的自闭,,,之前做这题的时候$bzoj$在维护,我就在$darkbzoj$上交,过了. 然后今天在$bzoj$上交,不是$TLE$就是$MLE$,就很自闭…
趁着503的清早 我还算清醒把昨天老师讲的内容总结一下,昨天有点迷了 至使我A的几道题都迷迷糊糊的.(可能是我太菜了) 这道题显然是 数字三角形的变形 好没有经过认真思考然后直接暴力了 这是很不应该的 但正解 是需要你能深刻理解数字三角形的模板式究竟是什么含义这显然是我这种 感觉很简单的东西没有认真思考每一个f值所以造成这道题没有写出正解. bf: 求出一条答案路径,如果询问在这条路径上那就直接暴力跑一遍不在的话直接输出最大值 复杂度n^3 实际低分很低貌似写挂了. 当然 100分的做法也很简单…
就多项式乘法这个地方不太熟 再多巩固一下. LINK:[ZJOI2014力](https://www.luogu.com.cn/problem/P3338) 把$(j-i)^2$看成一个函数 可以发现是一个卷积 FFT优化即可. LINK:[TJOI2017DNA](https://www.luogu.com.cn/problem/P3763) 这道题还是FFT匹配字符串的应用,怎么匹配我不再赘述 其实就是翻转一下相乘一下... 考虑怎么求答案 可以最多有三个位置不同 我们很难处理这个问题..…
为了练习分块 莫队 bitset黑科技 我会写几道Ynoi 放到这里. bitset 每一位占1bit int 每一位占 4 bitye bool占1 bitye long long 8bitye LINK:luogu4688掉进兔子洞 我挑了一道最简单的莫队+bitset的题目 题目中说三个区间每次都要同时删掉一个数字问最后剩下的数字个数和. n,m都是1e5.我们直接考虑莫队找区间 然后考虑找到区间之后如何快速的维护上述操作. 发现如果数字都不相同我们直接bitset来做 最后是集合大小之和…
A - 跳蚤电话 观察性质,可以发现每次连边的点一定是有祖先关系的,可以直接挂上去一个,也可以是在中间边上插入一个点. 所以我很自然的想到去计算树上的点的加入顺序,因为一但加入顺序确定,每一次的操作也就随之确定. 这东西有点类似于拓扑序计数,只不过是有一些限制. 对于一颗子树来说,我们可以发现如果root排在了第一个位置,那么对于所有儿子对应的子树就可以随便排列,也就是一个可重集排列. 另一种情况如果root不在第一个位置,那么root前面的点一定来自于同一个儿子对应的子树,root后面又是一个…
主要是记录思路,不要被刚开始错误方向带偏了 www 「CF1110F」Nearest Leaf 特殊性质:先序遍历即为 \(1 \to n\),可得出:叶子节点编号递增或可在不改变树形态的基础上调整为递增. 这样就可找出区间 \([l, r]\) 中的叶子节点有哪些了,预处理深度,暴力 \(O(n ^ 2)\). 考虑柿子 \(\min \{\mathrm{d} (y) - \mathrm{d} (\mathrm{f} (x))\}\),其中 \(d(x)\) 表示深度,\(f(x)\) 表示父…
记录全思路过程和正解分析.全思路过程很 navie,不过很下饭不是嘛.会持续更新的(应该). 「CF1521E」Nastia and a Beautiful Matrix Thought. 要把所有数容纳下就一定至少有,\(\sum \limits _{i = 1 \to k} a_i < n^2\).但这个限制太弱了可恶. 考虑一种构造,一排全放数字,一排隔一个放一个.感觉可以做到最优. 接下来考虑普适化的细节,即需要满足对角线数组不同. 全放数字的就直接往上怼,不够换下一个数字,顺序填即可.…
转载请注明原文地址:https://www.cnblogs.com/LadyLex/p/9227267.html 不过这篇的确没什么*用了转转吧 2018-6-24 关于一类延迟标记(来自UR14 思考熊) 有的时候我们需要用分块/线段树(即扩展的二进制分组)维护一些末端插入的信息, 当某一块插满之后我们做一个统计答案的操作,这个统计的复杂度较高 但是这样由于复杂度是均摊而无法支持删除 这样的话 我们可以维护一个bad标记,表示当前块的信息是不对的,一开始所有块自然都是bad的 以分块为例,当我…
主要讲第五课的内容前缀树应用和第六课内容暴力递归改动态规划的最全步骤 第一题 给定一个数组,求子数组的最大异或和. 一个数组的异或和为,数组中所有的数异或起来的结果. 简单的前缀树应用 暴力方法: 先计算必须以i结尾的子数组的异或和,然后再计算机i+1的,以此类推... 最暴力的解 public static int getMaxEor1(int[] nums) { int maxEor = Integer.MAX_VALUE; for (int i = 0; i < nums.length;…
[背景] 在10月3日的dp专练中,压轴的第6题是一道数位dp,于是各种懵逼. 为了填上这个留存已久的坑,蒟蒻chty只能开坑数位dp了. [例题一][HDU2089]不要62 题目大意:给你一个区间[l,r],求区间内不含4和62的数的个数. 分析:首先  ans[l,r]=ans[0,r]-ans[0,l-1],这样成功将问题转化为了求区间[0,x]的答案,然后减一下即可. 然后可以预处理出一个f[][]数组,f[i][j]表示表示在i位数中以j开头的满足条件的数的个数,那么显然f[i][j…
我愿称这场考试为STL专练 T1 世界线 巧妙使用$bitset$当作vis数组使用,内存不会炸,操作还方便,的确是极好的. 但是这个题如果不开一半的$bitset$是会炸内存的,因为他能开得很大,但是也有很大代价 相比bool是好的,所以这题要用一个节点池来存放节点卡内存限制 但是当时考试的时候还不知道有这种东西.. 考试时候的想法是: 因为发现如果暴力的话只用$floyd$循环找一遍无法将所有边找全,于是想到使用多次$floyd$ 记一个ans数组记录每一次新产生的连边,如果这一次的ans为…
题目 好题!高斯消元切了! (其实只是单纯地想吐槽这道出现在"高斯消元"专练里的题,暴搜能过,goudoubuxie"Gauss") 下面是暴搜: #pragma GCC optimize(2) #pragma GCC optimize(3) #include<bits/stdc++.h> using namespace std; double S; int a,b,c,K,A[3],B[3],C[3],T[3],Ans[5]; int main() {…
1287 矩阵乘法  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解  查看运行结果     题目描述 Description 小明最近在为线性代数而头疼,线性代数确实很抽象(也很无聊),可惜他的老师正在讲这矩阵乘法这一段内容.当然,小明上课打瞌睡也没问题,但线性代数的习题可是很可怕的.小明希望你来帮他完成这个任务. 现在给你一个ai行aj列的矩阵和一个bi行bj列的矩阵,要你求出他们相乘的积(当然也是矩阵).(输入数据保证aj=bi,不需要判断) 矩…
从2016.2.13开始: 1.  排序超时的问题---------目录:-测试习题 2.  超高精度乘法超时问题-----------目录:高精度计算 算法:快速傅里叶算法. 压位算法 3. 高精度回文数求加的次数-----高精度练习 4.  高精度求阶乘---高精度练习 5.  士兵站队问题------排序算法练习 6.  统计数字---很简单的一个算法(只输出不同的)--排序算法练习 7. 设有n个正整数(n≤20),将它们联接成一排组成一个最大的多位整数.---排序算法练习(codevs…
百练 / 2016计算机学科夏令营上机考试 已经结束 题目 排名 状态 统计 提问   B:单词翻转 查看 提交 统计 提问 总时间限制:  1000ms 内存限制:  65536kB 描述 输入一个句子(一行),将句子中的每一个单词翻转后输出. 输入 只有一行,为一个字符串,不超过500个字符.单词之间以空格隔开. 输出 翻转每一个单词后的字符串,单词之间的空格需与原文一致. 样例输入 hello world 样例输出 olleh dlrow #include <iostream> #inc…
百练 / 2016计算机学科夏令营上机考试 已经结束 题目 排名 状态 统计 提问   A:分段函数 查看 提交 统计 提问 总时间限制:  1000ms 内存限制:  65536kB 描述 编写程序,计算下列分段函数y=f(x)的值. y=-x+2.5; 0 <= x < 5 y=2-1.5(x-3)(x-3); 5 <= x < 10 y=x/2-1.5; 10 <= x < 20 输入 一个浮点数N,0 <= N < 20 输出 输出N对应的分段函数值…
[BZOJ2436]NOI嘉年华(动态规划) 题面 BZOJ 题解 考虑第一问如何求解 发现状态与选择了哪些活动无关,只与时间有关 设\(f[i][j]\)表示前\(i\)个单位时间(离散后),一个嘉年华选择了\(j\)个活动时 另外一个可以选择的最多的活动数量 转移的话枚举一下转移过来的时间\(k\) 考虑时间\([k..i]\)的活动分配给哪个嘉年华就好了 所以\(f[i][j]=max(f[k][j]+sum[k][i],f[k][j-sum[k][i]])\) 其中\(sum[i][j]…