【HHHOJ】ZJOI2019模拟赛(十五)03.17 解题报告
得分: \(42+10+14=66\)
排名: \(Rank\ 3\)
\(Rating\):\(+53\)
\(T1\):【HHHOJ200】稗田的梦中之梦(点此看题面)
暴力\(DFS\)+上界限制,水到\(42\)分\(23333\)。
只需在暴力\(DFS\)的过程中,加上一个限制每个点的经过次数不能超过\(k\)次,这样显然会错,但至少不会\(TLE\)。
没什么细节,直接上骗分代码吧:
#include<bits/stdc++.h>
#define Tp template<typename Ty>
#define Ts template<typename Ty,typename... Ar>
#define Reg register
#define RI Reg int
#define Con const
#define CI Con int&
#define I inline
#define W while
#define N 15
#define K 7
#define V 25000
#define INF 1e9
#define add(x) (!cnt[x]++&&++tot)
#define del(x) (!--cnt[x]&&--tot)
#define DFS(x,y,s,t) (a[x][y]&&add(a[x][y]),vis[x][y]=1,dfs(x,y,s,t),vis[x][y]=0,a[x][y]&&del(a[x][y]))
using namespace std;
const int dx[4]={1,-1,0,0},dy[4]={0,0,1,-1};
int n,m,k,tot,ans=INF,a[N+5][N+5],v[N+5][N+5],vis[N+5][N+5],cnt[V+5];
I void dfs(CI x,CI y,CI s,CI t)//DFS
{
if(s>k||t>=ans) return;if(!(tot^k)) return (void)(ans=t);//经过次数大于k就退出
for(RI i=0,nx,ny;i^4;++i)//枚举走的方向
{
if((nx=x+dx[i])<1||nx>n||(ny=y+dy[i])<1||ny>m||!~a[nx][ny]) continue;//如果超出边界或到达-1,跳过
vis[nx][ny]?(dfs(nx,ny,s+1,t),0):DFS(nx,ny,s+1,t+v[nx][ny]);//搜索
}
}
int main()
{
RI i,j;for(scanf("%d%d%d",&n,&m,&k),i=1;i<=n;++i) for(j=1;j<=m;++j) scanf("%d",&a[i][j]);//读入数据
for(i=1;i<=n;++i) for(j=1;j<=m;++j) scanf("%d",&v[i][j]);//读入数据
for(i=1;i<=n;++i) for(j=1;j<=m;++j) ~a[i][j]&&DFS(i,j,0,v[i][j]);//搜索
return ans==INF?puts("-1"):printf("%d",ans),0;//输出答案
}
\(T2\):【HHHOJ201】阿求的Q(点此看题面)
完全不会。。。
就水了\(a_i=0\)的\(10\)分最小费用最大流。
代码略。
\(T3\):【HHHOJ202】狂言【不凋的竹之花】(点此看题面)
神仙题,但\(k\le2\)的\(14\)分还是很好骗的。
考虑\(k=1\),删除环上的任意一条边或者不删边即可。
考虑\(k=2\),略有些复杂,难以说清楚,但还是比较简单的。
这好像又类似于一道著名的神仙\(DZY\)题。
反正不会做。
【HHHOJ】ZJOI2019模拟赛(十五)03.17 解题报告的更多相关文章
- [NOI.AC 2018NOIP模拟赛 第三场 ] 染色 解题报告 (DP)
题目链接:http://noi.ac/contest/12/problem/37 题目: 小W收到了一张纸带,纸带上有 n个位置.现在他想把这个纸带染色,他一共有 m 种颜色,每个位置都可以染任意颜色 ...
- 「2018-11-05模拟赛」T5 传送机 解题报告
5.传送机(sent.*) 问题描述: 黄黄同学要到清华大学上学去了.黄黄同学很喜欢清华大学的校园,每次去上课时总喜欢把校园里面的每条路都走一遍,当然,黄黄同学想每条路也只走一遍. 我们一般人很可能对 ...
- 「模拟赛 2018-11-02」T3 老大 解题报告
老大 题目描述 因为 OB 今年拿下 4 块金牌,学校赞助扩建劳模办公室为劳模办公室群,为了体现 OI 的特色,办公室群被设计成了树形(n 个点 n − 1 条边的无向连通图),由于新建的办公室太大以 ...
- 「2018-12-02模拟赛」T3 约束排列 解题报告
3.约束排列(place.pas/cpp/in/out) 问题描述: 给出 n 个互不相同的小写字母,表示出现的字符类型,以及 k 个约束关系: .....,表示 ai 必须出现在 bi 前面(ai, ...
- 「2018-12-02模拟赛」T1 最短路 解题报告
1.最短路(short.pas/cpp/in/out) 问题描述: 小 C 终于被小 X 感动了,于是决定与他看电影,然而小 X 距离电影院非常远,现在假设 每条道路需要花费小 X 的时间为 1,由于 ...
- NOI.AC NOIP模拟赛 第五场 游记
NOI.AC NOIP模拟赛 第五场 游记 count 题目大意: 长度为\(n+1(n\le10^5)\)的序列\(A\),其中的每个数都是不大于\(n\)的正整数,且\(n\)以内每个正整数至少出 ...
- 【模拟题(电子科大MaxKU)】解题报告【树形问题】【矩阵乘法】【快速幂】【数论】
目录: 1:一道简单题[树形问题](Bzoj 1827 奶牛大集会) 2:一道更简单题[矩阵乘法][快速幂] 3:最简单题[技巧] 话说这些题目的名字也是够了.... 题目: 1.一道简单题 时间1s ...
- 【HHHOJ】ZJOI2019模拟赛(十二)03.03 解题报告
点此进入比赛 得分: \(0+77+20=97\) 排名: \(Rank\ 5\) \(Rating\):\(+46\) \(T1\):[HHHOJ178]依神(点此看题面) 这套题目中的唯一一道传统 ...
- 【HHHOJ】ZJOI2019模拟赛(十四)03.12 解题报告
点此进入比赛 得分: \(50+5+24=79\) 排名: \(Rank\ 2\) \(Rating\):\(+79\) \(T1\):[HHHOJ197]古明地(点此看题面) 基本上全部时间都用来想 ...
随机推荐
- 编译安装libimobiledevice
在windows上大家可以使用iTunes来与iPhone进行通信,但是Linux上没有这类的官方软件,所以一些爱好者就破解了iTunes的通信协议,然后在Linux上实现了该协议,也就是libimo ...
- chrome插件 crap jsonview
最近有用到几个非常好用的Chrome 记录一下: 1.Crap Api debug,直接在Chrome标签打开的,界面大概长这样,方便调试 2. adblock 比较大众 3. tampermonk ...
- python学习3(转载)
主要内容: 列表 和 元组和字典 列表 一.列表介绍 列表是一种能存储大量数据的数据结构,是能装对象的对象.由方括号 [] 括起来,能放任意类型的数据,数据之间用逗号隔开 列表存储数据是有顺序的 二. ...
- nginx 资源重定向
背景:有时候我一些资源(.js .css etc.)等不想访问我本地的,我想重定向到其他 URL 解决:直接修改 nginx 的配置文件 conf,添加下面的代码 #avoid processing ...
- docker 安装的centos7.4中无法识别文件中的中文
在容器内执行命令: 命令: yum -y install kde-l10n-Chinese && yum -y reinstall glibc-common 命令: localedef ...
- 转 mysql front安装与使用教程 mysql 工具
mysql front安装与使用教程 由 kaikai0220 创建,Alma 最后一次修改 2018-04-25 mysql front一款小巧的管理Mysql的应用工具,那么这个工具该如何安装和使 ...
- Robot Framework常用库简介
标准库 Robot Framework可以直接导入使用的库,包括: • Builtin:包含经常需要的关键字.自动导入无需import,因此总是可用的 • Dialogs:提供了暂停测试执行和从用户的 ...
- requirej入门nodeTpl使用(三)
基本语法 HTML部分 在模板中的 HTML 部分,使用定界符“<?”和“?>”作为语法的开始和结束. 在定界符内,可以书写任意JavaScript语句,如: <?for(var i ...
- RTT之AT命令组件
包含客户端和服务器:用于GPRS和3G的通讯命令格式.四种基本功能 测试功能:AT+<x>=? 用于查询命令参数格式及取值范围: 查询功能:AT+<x>? 用于返回命令参数当前 ...
- 3d Max 2015安装失败怎样卸载3dsmax?错误提示某些产品无法安装
AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...