在codevs天梯中曾经做过的一些题
none
文三路张同学
在读浙大计算机博士,研究方向3D vision,欢迎大家关注我:https://github.com/Ruiyuan-Zhang/
展开
-
单词接龙【codevs】【黄金题】【深搜】
http://codevs.cn/problem/1018/#include<iostream>#include<string> #include<map>#include<algorithm>using namespace std;string a[21];int n;int b[21][21];string s; //...原创 2018-10-14 16:49:21 · 781 阅读 · 0 评论 -
矩阵取数游戏【dp+高精度】【codevs】【黄金题】
矩阵取数游戏高精度是套用的一个模板。#include <algorithm> // max#include <cassert> // assert#include <cstdio> // printf,sprintf#include <cstring> // strlen#include <iostream>...原创 2018-10-14 16:49:08 · 324 阅读 · 0 评论 -
骑士游历【codevs】【黄金题】【棋盘型动态规划】
骑士游历历经千难万险,最终的ac程序让我给凑出来了。关于我的不细心的点在于1、忘记了日字行走是怎么走了,一开始只想到了两种走法。2、没有去计算数据范围。#include<iostream>#include<cstring>#include<queue>using namespace std;#define ll long longint ...原创 2018-10-14 16:48:53 · 683 阅读 · 0 评论 -
数的划分【codevs】【黄金题】【动态规划】
数的划分思路:在本题中我尝试了一下用递归写的dp,记忆化建立了一张表。dp【x】【y】【z】中,x代表需要分配的数,y以后代表分数时不能超过y,z代表还剩下几次分配机会。 dp方程为 dp[x][y][z]=求和{dp[x-k][k][z-1]}(k从y至1)(需要注意:k是从y开始的,需要把x-k<0的情况continue掉。) 需要注意 分配不完 和...原创 2018-10-14 16:48:39 · 359 阅读 · 0 评论 -
石子归并【动态规划】
http://codevs.cn/problem/1048/#include<iostream>#include<cstring>using namespace std;//状态转移方程:dp[i][j]=dp[i][k]+dp[k+1][j]+(w[i]+w[i+1]+...+w[j-1]+w[j]). int w[101];int n; int dp[1...原创 2018-10-14 16:50:06 · 1769 阅读 · 0 评论 -
逃跑的拉夫尔【黄金题】【宽搜】
http://codevs.cn/problem/1026/思路:需要注意的是,在更新队列时,新添加的点不能重复,但是新添加的点可能与已经在队列中的点重复,所以使用了一个自增index,用来判断是否多次添加,否则,会造成内存超限。#include<iostream>#include<queue>#include<string>using na...原创 2018-10-14 16:50:23 · 324 阅读 · 0 评论 -
四子连棋【黄金题】【宽搜】
http://codevs.cn/problem/1004/思路:我的思路是,将棋盘用一个17个大小的字符串表示,最后一位表示黑子(白子)执棋。使用map<string,bool>判断某一棋盘是否已经存在了。需要注意的是,棋盘的移动中,左右移动需要额外判断一下是不是边界棋子,比如第3号棋子的右边4号棋子其实是下一行的起始棋子。#include<iostream&...原创 2018-10-14 16:49:49 · 613 阅读 · 0 评论 -
乌龟棋【黄金题】【动态规划】
http://codevs.cn/problem/1068/我的思路是由len推导len+1层。因为计算m个卡片最大值,需要知道m-1个卡片的最大值。(不知道网上其他人的算法是怎么理解的,感觉自己的算法很耗时间)#include<iostream>using namespace std;int dp[41][41][41][41];int a[351]; int ...原创 2018-10-14 16:49:36 · 650 阅读 · 0 评论