![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
UVA题解
LInguistic凛
QAQ
展开
-
UVA—11134 Fabled Rooks + 贪心
UVA-11134 Fabled Rooks 传说中的车刚开始时想直接用回溯法过,试了两种回溯方法都超时了。后来用贪心法写了一遍,老是wrong answer,卡了差不多两小时发现自己输出中的IMPOSSIBLE写成IMPOSSBILE了,改了之后就AC了。难受。总的来说还是要注意细节。对于题目来说注意到行列无关所以可以分别对行和列进行处理,先将各个区间其按区间左端点的大小排序,然后历遍各...原创 2018-11-12 14:38:05 · 194 阅读 · 0 评论 -
UVa 1218 Perfect Service + DP
题目链接自己写的状态转移方程总是少了点什么,所以折腾了一个多小时也写不出。。。。。所以还是按紫书上思路写的。dp(u,0):u是服务器,u的子节点可以是服务器也可以不是。有:dp(u,0)=sum{min(dp(v,0),dp(v,1))}+1;dp(u,1):u不是服务器,但u的父节点是服务器,所以u的子节点都不是服务器,有: dp(u,1)=sum{dp(v,2)};dp(u,2)...原创 2019-01-25 23:50:10 · 96 阅读 · 0 评论 -
UVA1220 Hail-Bula的晚会 DP
PS:很久没写博客了,更几篇。按紫书上思路写的,按自己思路写错好几次啊啊啊。dp(u,0)代表选u,dp(u,1) 代表不选u,函数返回值pair的first代表能选到的最多的人,second 代表解是否唯一,当second为1时唯一,second为0时不唯一。感觉我这份代码重复计算有点多,可以用数组来保存状态以减少重复计算。具体实现及思路见代码注释。#include<bits/s...原创 2019-01-25 20:36:56 · 156 阅读 · 0 评论 -
UVA-1025 A Spy in the Metro + dp
这题是按紫书上思路做的,算是我做的的第一个dp类的题了,看题看得很迷糊,还好书上有具体的翻译。感觉dp有点让人难受啊。#include<bits/stdc++.h>using namespace std;const int INF=1e5;int n,T;int t[250];bool has_train[250][250][2];int dp[250][250];in...原创 2018-12-18 21:44:39 · 146 阅读 · 0 评论 -
UVA-11212 Editing a Book IDA*算法
IDA*算法,也算是最近学习的一道坎了,概念容易懂,但应用起来就让我有点头大了。写的不怎么好。这道题的粘贴与复制部分没想清楚,看了一下其他人的博客才知道自己错在哪里的。用紫书上的策略三剪枝的话,时间效率变高了一半,但还是很慢,应该是循环用多了的原因,还可以优化。#include<bits/stdc++.h>using namespace std;int n,maxn,a[10]...原创 2018-12-06 23:31:35 · 107 阅读 · 0 评论 -
UVA-208 Firetruck +DFS BFS
这个题,就是用回溯解,但是要先优化一下,用bfs从终点历遍到点1,并把这个路径上的边标记,在后面的dfs中只选择被标记过的边走,并且当点1的路径中没有一条被标记时,就不用dfs了。这样优化一下就不会TL了。还有一点就是一定要看清题目格式要求,不然就会很难受了。蠢到爆炸的我输出语句的一个点没写上去,还吃了两发WA,难受。代码如下:#include<bits/stdc++.h>us...原创 2018-11-27 09:31:57 · 154 阅读 · 0 评论 -
UVA-1592 Datebase 数据库+字符串处理
字符串处理相关的题,直接暴力判重会TL,要进行一些优化。将每个不同的字符串用map编号,然后每次取两列进行扫描。后续处理中字符串的对比都由map赋予的编号进行。感觉写个hash会快很多。#include<cstdio>#include<algorithm>#include<iostream>#include<string&原创 2018-11-29 18:59:27 · 104 阅读 · 0 评论 -
UVA-1600 Patrol Robot + BFS
这个题还是用BFS就行,刚开始时用两个二维数据判断机器人连续跨过的障碍数以及机器人访问过的格子就WA了,要注意到用三维数组标记机器人连续跨过的障碍数,就不会有问题。AC代码如下:#include<bits/stdc++.h>using namespace std;struct Node{ int x,y,k,d; Node(int x,int y,int k,i...原创 2018-11-29 13:49:04 · 156 阅读 · 0 评论 -
UVA-806 Spatial Structures + 递归
UVA-806 Spatial Structures 空间结构题目链接题目要求将给定的点阵图转为路径,将给定的路径转化为点阵,所以分两步解题。分别进行递归就能求解。具体细节见代码注释。另外需要特别注意输出格式,三次presontation error的教训。而且以后要注意边界数据的测试。AC代码如下:#include<bits/stdc++.h>using namespac...原创 2018-11-12 16:16:10 · 221 阅读 · 0 评论 -
UVA 1262 Password + DFS
题意:给两个6行5列的字母矩阵,找到密码:密码中的每个字母都在两个矩阵中的对应列出现。在这样的密码中找到字典序第k大的密码。我的思路:先找出两个矩阵相同列中相同的元素,并将它们排序,在验证一定有解后递归打印字典序第k大的密码就行了。具体实现见代码:#include<bits/stdc++.h>using namespace std;int T,k;char grap1[6]...原创 2019-01-29 13:45:50 · 166 阅读 · 0 评论