【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]古明地(点此看题面) 基本上全部时间都用来想 ...
随机推荐
- python搭配selenium,htmltestrunner实现自动化测试 —— (测试思路和基础步骤)
1. 测试思路: 编写测试单例 编写测试套件,集合测试单例 集中测试测试套件 生成测试报告 补充,发送测试结果到E-mail 2. 示例 编写测试单例 编写测试套件 测试脚本程序 生成报告 发送邮件 ...
- Problem07 处理字符串
题目:输入一行字符,分别统计出其中英文字母.空格.数字和其它字符的个数. 程序分析:利用while 语句,条件为输入的字符不为'\n'. import java.util.*; public clas ...
- 1.1 Go安装与项目结构初始化
软件安装安装包下载地址为:https://golang.org/dl/ 如果打不开可以: https://golang.google.cn/dl/ https://dl.google.com/go/g ...
- ORACLE CBC LATCH 检查
###############1.DB meet latch: cache buffers chains event from awr report ,check latch: cache buffe ...
- CAD安装失败怎样卸载CAD 2011?错误提示某些产品无法安装
AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...
- C# 判断字符串为空(长度为0),或者是null(没有new)
string str = null; if (string.IsNullOrWhiteSpace(str)) { MessageBox.Show("字符串为null"); } ) ...
- 使用Xshell连接服务器
转载原地址:http://www.server110.com/linux/201308/830.html 1)关于Xshell 网上更多的资料里提到的SSH客户端是putty,因为简单.开源.免费.但 ...
- 如何有效防止DEDE织梦系统被挂木马安全设置(仅供参考)
尊敬的客户,您好! 感谢广大客户对我司工作的信任和支持! 我司在最近的一个多月内陆续发现多起因 DedeCMS 安全漏洞造成网站被上传恶意脚本的事件,入侵者可利用恶意脚本对外发送大量 ...
- js实现的省市县三级联动的最新源码
<!DOCTYPE html> <html> <head> <title>省市区三级联动</title> <!-- 直接使用QQ的省市 ...
- HDU 5592——ZYB's Premutation——————【线段树单点更新、单点查询】
ZYB's Premutation Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Othe ...