洛谷
xzhws
推荐系统,数据挖掘,机器学习
展开
-
洛谷 P1309 瑞士轮(归并排序)
题目链接 https://www.luogu.org/problemnew/show/P1309 题目背景在双人对决的竞技性比赛,如乒乓球、羽毛球、国际象棋中,最常见的赛制是淘汰赛和循环赛。前者的特点是比赛场数少,每场都紧张刺激,但偶然性较高。后者的特点是较为公平,偶然性较低,但比赛过程往往十分冗长。本题中介绍的瑞士轮赛制,因最早使用于 1895 年在瑞士举办的国际象棋比赛而得名。它可...转载 2018-08-14 15:38:44 · 252 阅读 · 0 评论 -
洛谷P1025数的划分
参考自:博主yhtwd题目链接洛谷P1025数的划分题目大意:将整数nnn分成kkk份,且每份不能为空,任意两个方案不相同(不考虑顺序)。输入输出样例:输入7 3输出4难点及思路:怎么避免不同顺序但总和相同的序列被同时遍历?采用升序/降序遍历的方式,记录当前的遍历的起点,依次升序遍历,保证序列里面出现的数字单调不减(即不会出现类似151,511的情况,只会出现115的情...转载 2018-09-21 16:35:58 · 871 阅读 · 0 评论 -
洛谷P1057传球游戏
题目链接洛谷P1057传球游戏题目大意:nnn个人围成圈传球,球只能左右传,求传的球经过mmm次回到第一个人手中的所有情况输入输出样例输入3 3输出2思路:动态规划,因为球传到第iii个人只有从iii的左边或者右边传,假设球经过kkk次传到了第iii个人手中,那个最普通的情况应该有f[i][k]=f[i−1][k−1]+f[i+1][k−1]f[i][k]=f[i-1][k...转载 2018-09-22 09:16:16 · 280 阅读 · 0 评论 -
洛谷P1216 [USACO1.5]数字三角形 Number Triangles
题目链接洛谷P1216 [USACO1.5]数字三角形 Number Triangles解题思路:不能直接dfs,一定会超时!!采用记忆化搜索或者动态规划可解决,f[i][j]=a[i][j]+max(f[i+1][j],f[i+1][j+1])f[i][j]=a[i][j]+max(f[i+1][j],f[i+1][j+1])f[i][j]=a[i][j]+max(f[i+1][j],f...转载 2018-09-22 15:45:11 · 190 阅读 · 0 评论 -
洛谷P1120 小木棍 [数据加强版](剪枝技巧!)
题目链接P1120 小木棍 [数据加强版]参考自:https://www.luogu.org/blog/user30688/solution-p1120解题思路:这题关键在于剪枝。(1)逆序排列整个序列,从最大的值往回搜(2)dfs每次从当前点nownownow开始搜,而不是每次从最开始的点a[1]a[1]a[1]开始搜(3)在正向的搜索过程中,如果当前积累的长度numnumnum...转载 2018-10-05 17:21:05 · 286 阅读 · 0 评论 -
洛谷P1378 油滴扩展
题目链接P1378 油滴扩展解题思路:#include <iostream>#include<cstdio>#include<cmath> #include<cstring>#define PI 3.1415926535using namespace std;struct node{ int x,y;}a[10];double...原创 2018-10-05 20:32:44 · 257 阅读 · 0 评论 -
洛谷P1514 引水入城
题目链接洛谷P1514 引水入城解题思路:综合考察了搜索和区间合并。难点在于记录最后一行区间的左右端点,还有从第一行开始搜时,注意优化一下,并不是第一行的每列作为起点开始搜,而是比左右端点都大的列开始搜,可以节省时间。区间合并注意排序。include <iostream>#include<cstdio>#include<cstring>#inc...转载 2018-10-06 11:28:23 · 365 阅读 · 0 评论 -
洛谷P1441 砝码称重(加强版)
题目链接P1441 砝码称重解题思路:搜索/枚举+dpdp过程参考弱化版的P2347 砝码称重。妙啊,真的是妙啊…感觉这题搜索和dp结合的恰到好处。利用dfs先枚举出所有可能的情况,当数组a[i]a[i]a[i]中被标记的数值达到mmm后,表示已经舍弃了mmm个值,在剩下的n−mn-mn−m个值里面dp就行了。在dp过程,由于题目数据范围可知,所有砝码的和一定不超过2000,所以用一...转载 2018-10-06 21:22:52 · 770 阅读 · 0 评论 -
洛谷P4779 单源最短路径 堆优化+dijstra
题目描述:给定一个NNN点,MMM条有向边的带非负权图,请你计算从SSS出发,到每个点的距离。数据保证你能从SSS出发到任意点。输入输出格式输入格式:第一行为三个正整数NNN,MMM,SSS,第二行起MMM行,分别表示从uiu_iui到viv_ivi的权值为wiw_iwi的边。输出格式:输出一行 NNN个空格分隔的非负整数,表示SSS到每个点的距离。输入输出例子输入4...转载 2018-10-08 20:45:18 · 269 阅读 · 0 评论 -
洛谷P1280 尼克的任务
题目链接P1280 尼克的任务解题思路动态规划,这几天断断续续想了这个题,难点在于递推关系式的构造。顺着更新的话,第iii个时刻需要知道第i+1i+1i+1时刻的值,这显然是不太方便的,所以这里记f[i]f[i]f[i]为第iii个时刻到第nnn个时刻的值,逆着更新。其中b[i]b[i]b[i]为以第iii个时刻为起点的所有时间段的统计。f[i]=f[i+1]+1b[i]=0f[i]=f...转载 2018-09-29 22:06:35 · 758 阅读 · 0 评论 -
洛谷P1037产生数
题目链接:https://www.luogu.org/problemnew/show/P1037题目描述给出一个整数n(n&amp;amp;lt;=2000)和k个变换规则(k≤15)。规则:① 1个数字可以变换成另1个数字;② 规则中,右边的数字不能为零。例如:n=234,k=2规则为2 → 53 → 6上面的整数234经过变换后可能产生出的整数为(包括原数)234,534,264,564共4...原创 2019-02-20 11:21:31 · 1063 阅读 · 0 评论 -
洛谷P1983 车站分级(图的建立)
题目描述一条单向的铁路线上,依次有编号为1, 2, …, n的n个火车站。每个火车站都有一个级别,最低为1级。现有若干趟车次在这条线路上行驶,每一趟都满足如下要求:如果这趟车次停靠了火车站x,则始发站、终点站之间所有级别大于等于火车站x的都必须停靠。(注意:起始站和终点站自然也算作事先已知需要停靠的站点)例如,下表是5趟车次的运行情况。其中,前4趟车次均满足要求,而第5趟...原创 2019-03-06 22:35:08 · 467 阅读 · 0 评论 -
codeforce 33C Wonderful Randomized Sum(最大子段和,dp)
C. Wonderful Randomized Sumtime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputLearn, learn and learn again — Valera has to do this every d...转载 2019-05-14 22:13:11 · 207 阅读 · 0 评论 -
P2704 [NOI2001]炮兵阵地(状态压缩,dp)
题目链接https://www.luogu.org/problemnew/show/P2704题目描述司令部的将军们打算在NM的网格地图上部署他们的炮兵部队。一个NM的地图由N行M列组成,地图的每一格可能是山地(用“H” 表示),也可能是平原(用“P”表示),如下图。在每一格平原地形上最多可以布置一支炮兵部队(山地上不能够部署炮兵部队);一支炮兵部队在地图上的攻击范围如图中黑色区域所示:...原创 2019-05-11 16:57:47 · 436 阅读 · 0 评论 -
P2216 [HAOI2007]理想的正方形(二维单调队列)
题目链接https://www.luogu.org/problem/P2216题意有一个a*b的整数组成的矩阵,现请你从中找出一个n*n的正方形区域,使得该区域所有数中的最大值和最小值的差最小。思路针对每一行维护一个单调队列(类似于维护一个滑动窗口),利用deque单调递增时维护该行当前滑动窗口的最小值的位置(注意不是最小值),利用deque单调递减时维护该行当前滑动窗口的最大值的位置(...原创 2019-09-12 20:34:41 · 211 阅读 · 0 评论 -
洛谷 P1233 木棍加工
题目链接 P1233 木棍加工解题思路:其实就是求最长上升子序列(参见diworth定理,序列的不下降子序列最少划分数等于上升序列的总长度)首先需要做的是先将序列排序(这里采取的是先将序列的l值升序,再将序列的w值升序)在求解最长上升子序列时,保证在j&lt;ij&lt;ij<i时,a[i].l&gt;a[j].l&amp;&amp;a[i...原创 2018-10-03 21:24:20 · 750 阅读 · 0 评论 -
洛谷P1010幂次方
题目链接洛谷P1010幂次方输入输出样例//输入1315//输出2(2(2+2(0))+2)+2(2(2+2(0)))+2(2(2)+2(0))+2+2(0)解题思路:对递归和分治的考查#include &lt;iostream&gt;#include&lt;cstdio&gt;#include&lt;cmath&gt;//ctrl+shift+A us转载 2018-09-21 10:21:31 · 331 阅读 · 2 评论 -
洛谷P1080 国王游戏--高精度
题目链接 https://www.luogu.org/problem/show?pid=P1080 题目描述恰逢 H H 国国庆,国王邀请 nn 位大臣来玩一个有奖游戏。首先,他让每个大臣在左、右手上面分别写下一个整数,国王自己也在左、右手上各写一个整数。然后,让这 nn 位大臣排成一排,国王站在队伍的最前面。排好队后,所有的大臣都会获得国王奖赏的若干金币,每位大臣获得的金币数分别是:排在...原创 2018-08-16 15:02:03 · 1121 阅读 · 2 评论 -
洛谷 P1019 单词接龙
题目描述: 单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“龙”(每个单词都最多在“龙”中出现两次),在两个单词相连时,其重合部分合为一部分,例如beastbeast beast和astonishastonishastonish,如果接成一条龙则变为beastonishbeastonishbeastonish,另外相邻的...转载 2018-09-09 13:34:55 · 175 阅读 · 0 评论 -
洛谷P1032字串变换
题目描述 已知有两个字串A,BA,BA,B及一组字串变换的规则(至多6个规则): A1−>B1A1−>B1A_{1}->B_{1} A2−>B2A2−>B2A_{2}->B_{2} 规则的含义为:在A的子串中A1A1A_1可以变成B1B1B_1,A2A2A_2可以变成B2B2B_2….. 求AAA变成BBB所需的最小的转换次数 输入 A1 B1A1...转载 2018-09-12 14:28:16 · 267 阅读 · 0 评论 -
洛谷P1141 01迷宫
#include &amp;amp;lt;iostream&amp;amp;gt;#include&amp;amp;lt;queue&amp;amp;gt;#include&amp;amp;lt;cstdio&amp;amp;gt;#include&amp;amp;lt;cstring&amp;amp;gt;using namespace std; #define N 1转载 2018-09-12 23:43:20 · 241 阅读 · 0 评论 -
洛谷P1101单词方阵
题目描述 给一n∗nn∗nn*n的字母方阵,内可能蕴含多个“yizhong”单词。单词在方阵中是沿着同一方向连续摆放的。摆放可沿着 88 个方向的任一方向,同一单词摆放时不再改变方向,单词与单词之间可以交叉,因此有可能共用字母。输出时,将不是单词的字母用*代替,以突出显示单词。例如: 输入: 输出: qyizhong ...原创 2018-09-10 21:13:20 · 341 阅读 · 0 评论 -
洛谷P1087FBI树
题目链接洛谷P1087FBI树输入输出样例输入310001011输出IBFBBBFIBFIIIFF解析由样例构造的FBI树如下,后序遍历为IBFBBBFIBFIIIFFIBFBBBFIBFIIIFFIBFBBBFIBFIIIFF。 F F F F B F I I B B B I B I ...转载 2018-09-23 14:06:19 · 194 阅读 · 0 评论 -
洛谷P1226【模板】快速幂||取余运算
题目描述输入b,p,k的值,求b^p mod k的值。其中b,p,k*k为长整型数。输入输出格式输入格式:三个整数b,p,k.输出格式:输出“b^p mod k=s”s为运算结果输入输出样例2 10 9//输出//2^10 mod 9=7解题思路利用模运算的性质,a∗b%k=((a%k)∗(b%k))%ka*b\% k=((a\%k) *(b\%k) )\% ka∗...转载 2018-09-18 21:55:58 · 782 阅读 · 0 评论 -
洛谷P1118[USACO06FEB]数字三角形
#include &amp;lt;iostream&amp;gt;#include&amp;lt;cstring&amp;gt;#include&amp;lt;cstdio&amp;gt;using namespace std;int n,sum,total=0,flag=0;int a[100];int h[100],vis[100],loc[100];int js(int k){//i=1,2,转载 2018-09-14 08:42:12 · 356 阅读 · 0 评论 -
洛谷P1434滑雪
题目描述 Michael喜欢滑雪。这并不奇怪,因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道在一个区域中最长的滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子:1 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 813 12...转载 2018-09-14 11:45:11 · 233 阅读 · 0 评论 -
洛谷普及场背包问题
持续更新…1. P1060 开心的金明解题思路最基本的01背包问题,可以不装满,其中jjj表示总的钱,iii表示第iii个商品,f[j]f[j]f[j]表示用金额为jjj的钱获得目标的最高价值。f[j]=max(f[j],f[j−a[i].v]+a[i].v∗a[i].p)f[j]=max(f[j],f[j-a[i].v]+a[i].v*a[i].p)f[j]=max(f[j],f[j−a...原创 2020-09-05 19:33:04 · 484 阅读 · 0 评论 -
区间dp总结
持续更新…题目链接P1880 石子合并解题思路:最初拿到题目的时候,以为是用赫夫曼树的思想合并石子。但是这个合并的顺序是一定的,即只能和左边或者右边的石子合并,而不是从一堆石子中找出最小的两堆石子合并。在解题过程中需注意:石子排列成环形,如何对环形的石子进行每轮状态的更新?(利用将数组扩展成2n2n2n,将环形化成链状结构,方便下一步处理。注意保存的数组大小至少开到2n2n2n。)由...原创 2018-09-30 21:25:21 · 362 阅读 · 1 评论 -
洛谷P1006 传纸条
题目链接P1006 传纸条解题思路:多维动态规划(不是两个起点的dfs),可以看做从相同地点到相同终点的两条不相交的路径。注意到两个人传的纸条经历的总路径相等。设f[i][j][k][l]f[i][j][k][l]f[i][j][k][l]为两人从同一起点传的路径到达(i,j)(i,j)(i,j)和(k,l)(k,l)(k,l)的总的值。有i+j=k+li+j=k+li+j=k+l成立,当i...转载 2018-10-01 17:23:49 · 193 阅读 · 0 评论 -
洛谷P1387 最大正方形
题目链接P1387 最大正方形思路1:前缀和+暴力,注意只有一个点时,边长记为1,而不是0.#include <iostream>#include<cstdio>using namespace std;int f[110][110],a[110][110];int main(int argc, char** argv) { int n,m; scanf(...原创 2018-10-01 23:34:33 · 286 阅读 · 0 评论 -
洛谷P1020 导弹拦截
题目链接P1020 导弹拦截思路1:动态规划,利用f[i]f[i]f[i]表示到第iii个导弹时所拦截的总导弹数,则有f[i]=max(f[i],f[j]+1)i&amp;gt;j&amp;amp;&amp;amp;a[i]≤a[j]f[i]=max(f[i],f[j]+1) \quad i&amp;gt;j\&amp;amp;\&amp;amp;a[i]\le a[j]f[i]=max(...转载 2018-09-26 12:51:50 · 1553 阅读 · 0 评论 -
P2564 [SCOI2009]生日礼物(队列,双指针,模拟)
题目链接https://www.luogu.org/problem/P2564题目大意给定N个彩珠的位置,求容纳所有类型彩珠的最短区间长度思路双指针,分为维护区间开始和区间结束的位置,同时统计这一段区间内首次出现的彩珠类型,当区间内不同类型的彩珠数量达到给定值k时,记录并更新答案(区间长度)下一步移动头指针,如果区间内该彩珠类型为0了,...转载 2019-09-13 07:17:27 · 290 阅读 · 0 评论