- 博客(17)
- 资源 (1)
- 收藏
- 关注
原创 编辑距离(动态规划)
【问题描述】设A和B是两个字符串。我们要用最少的字符操作次数,将字符串A转换为字符串B。这里所说的字符操作共有三种:删除一个字符插入一个字符将一个字符改为另一个字符对任意的两个字符串A和B,计算出将字符串A变换为字符串B所用的最少字符操作次数。【输入格式】第一行为字符串A;第二行为字符串B;字符串A和B的长度均小于2000。【输出格式】只有一个正整数,为最少字符操作次数。【输入输出样例 1】inputsfdqxbwgfdgwoutput4时间限制:1s空间限制:12
2022-04-29 10:17:05 316
原创 滑雪问题(记忆化搜索)
注:由于本题有多种不同版本,这里统一用XXX和YYY代替不同的专有名词【问题描述】XXX喜欢滑雪,这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待YYY来载你。XXX想知道载一个区域中最长的滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子:顺治可以从某个点滑向上下左右相邻四个点之一,当且仅当高度减小。在上面的例子中,一条可滑行的滑坡为24-17-16-1。当然25-24-23-…-3-2-1更长。事实上.
2022-04-28 21:57:49 1506
原创 C++ Tetris俄罗斯方块
纯C++Tetris分享直接上代码吧:(可能有点长)#include <bits/stdc++.h>#include <windows.h>#include <mmsystem.h>#pragma comment(lib, "winmm.lib")using namespace std;#define GameW 10#define GameH 20const int CtrlLeft = GameW*2+4 + 3;const int SPEED
2022-04-27 11:58:21 194
原创 一笔画问题(图论)
【问题描述】如果一个图存在一笔画,则一笔画的路径叫做欧拉路,如果最后又回到起点,那这个路径叫做欧拉回路。现给出一个图,希望你能找出一条欧拉路或欧拉回路。【输入格式】第一行n(n<=50),m,有n个点,m条边,以下m行描述每条边连接的两点。【输出格式】欧拉路或欧拉回路【输入输出样例】input5 51 22 33 44 55 1output1 5 4 3 2 1时间限制:1s空间限制:128MB题解#include<bits/stdc++.h>
2022-04-23 14:15:56 1143
原创 热浪(图论)
【问题描述】德克萨斯纯朴的民眾们这个夏天正在遭受巨大的热浪!!!他们的德克萨斯长角牛吃起来 不错,可是他们并不是很擅长生產富含奶油的乳製品。Farmer John 此时以先天下之忧而忧, 后天下之乐而乐的精神,身先士卒地承担起向德克萨斯运送大量的营养冰凉的牛奶的重任, 以减轻德克萨斯人忍受酷暑的痛苦。FJ 已经研究过可以把牛奶从威斯康星运送到德克萨斯州的路线。这些路线包括起始点 和终点先一共经过 T (1 <= T <= 2,500)个城镇,方便地标号為 1 到 T。除了起点和终点外的 每个
2022-04-23 13:52:01 208
原创 最小花费(图论)
【问题描述】在n个人中,某些人的银行账号之间可以互相转账。这些人之间转账的手续费各不相同。给定这些人之间转账时需要从转账金额里扣除百分之几的手续费,请问A最少需要多少钱使得转账后B收到100元。【输入格式】第一行输入两个正整数n,m,分别表示总人数和可以互相转账的人的对数。以下m行每行输入三个正整数x,y,z,表示标号为x的人和标号为y的人之间互相转账需要扣除z%的手续费 (z < 100)。最后一行输入两个正整数A,B。数据保证A与B之间可以直接或间接地转账。【输出格式】输出A使得B到
2022-04-22 09:40:52 260
原创 香甜的黄油(图论)
【问题描述】农夫John发现做出全威斯康辛州最甜的黄油的方法:糖。把糖放在一片牧场上,他知道N(1<=N<=500)只奶牛会过来舔它,这样就能做出能卖好价钱的超甜黄油。当然,他将付出额外的费用在奶牛上。 农夫John很狡猾。像以前的Pavlov,他知道他可以训练这些奶牛,让它们在听到铃声时去一个特定的牧场。他打算将糖放在那里然后下午发出铃声,以至他可以在晚上挤奶。 农夫John知道每只奶牛都在各自喜欢的牧场(一个牧场不一定只有一头牛)。给出各头牛在的牧场和牧场间的路线,找出使所有牛到达
2022-04-22 09:16:39 170
原创 2021CSP-J题解
【CSP-J 2021】1.分糖果此题考查的主要是数学归纳能力,与前几年套路一样,都是先水后难整合题意:在[L,R]内找到一个x,使x%n最大#include<bits/stdc++.h>using namespace std;int main(){ int n,l,r,i,maxx=0,k; scanf("%d %d %d",&n,&l,&r); k=r/n*n-1; if(k>=l) printf("%d",k%n); else if(
2021-10-23 13:56:09 444
原创 容易的网络游戏(离散化)
【问题描述】现在网络游戏一款接一款地推出,佳佳和他的同学们也迷上了网络游戏。他们最近在玩N款不同的网络游戏。 一些网络游戏允许玩家购买双倍经验卡。拥有双倍经验卡的玩家可以在有效期内获得更多的经验值。佳佳和他的同学们有着丰富的网游经验,对于任何一款网络游戏,只要是在双倍经验的条件下,无论谁玩都可以在单位时间内轻松获得一个单位的经验值。 国庆节马上到了,网游公司不会错过这难得的机会大捞一把。中国网游常用的赚钱手段便是免费提供双倍经验(因为如果玩家再买一张双倍卡,便可获得4倍经验)。 在9、10、1
2021-10-06 19:18:33 83
原创 逆序对问题
逆序对算是比较常见的一种基础内容了,在一些较麻烦的题里频繁出现这里就做一个方法收录:方法一:归并排序在归并排序合并数组函数中,可以利用合并时的判断统计每一个逆序对因为一旦a[i]>b[j],那么就满足逆序对的定义,算作一个逆序对#include<bits/stdc++.h>using namespace std;int a[1024],ans;void merge(int a[],int a_l,int b[],int b_l,int & c[]){ int i
2021-10-06 16:40:12 140
原创 Educational DP Contest(第一篇)
A - Frog 1:线性DP【问题描述】有N块石头,编号1,2,…,N. 第 i (1≤i≤N)块的石头高度 hi.有一只青蛙从第1块石头开始跳 ,它将反复执行以下的动作直到到达石头N:如果青蛙当前跳到编号为i的石头上,接下来他只能跳到第i+1块石头或者是第i+2块石头,跳一次的代价是两块石头高度差的绝对值。问青蛙从第一块石头跳到第N块石头的最小代价。【输入格式】第一行输入N,表示石头的数量接下来的一行有N个数h1,h2,…,hN,表示每块石头的高度【输出格式】输出最小代价题解f[
2021-10-06 15:11:11 322
原创 【NOIP2016普及】3.海港
【问题描述】小K是一个海港的海关工作人员,每天都有许多船只到达海港,船上通常有很多来自不同国家的乘客。 小K对这些到达海港的船只非常感兴趣,他按照时间记录下了到达海港的每一艘船只情况;对于第i艘到达的船,他记录了这艘船到达的时间ti (单位:秒),船上的乘客数量ki,以及每名乘客的国籍 xi,1, xi,2,…,xi,ki。 小K统计了n艘船的信息,希望你帮忙计算出以每一艘船到达时间为止的24小时(24小时=86400秒)内所有乘船到达的乘客来自多少个不同的国家。 形式化地讲,你需要计算n条信
2021-10-06 14:41:40 336
原创 【NOIP2005普及】3.采药 题解
【NOIP2005普及】3.采药【问题描述】辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。” 如果你是辰辰,你能完成这个任务吗?【输入文件】输入文件medic.in的第一行
2020-08-09 20:51:48 364
C++ Tetris俄罗斯方块
2022-04-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人