【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]古明地(点此看题面) 基本上全部时间都用来想 ...
随机推荐
- 9.JSP进阶
1.JSP内置对象 JSP容器在_jspService()方法中声明并初始化9个内置对象. 名称 作用 接口/类 out 客户端打开的输出流 javax.servlet.jsp.JspWriter 接 ...
- spring bean name生成规则
现象: PVService PVServiceImpl ===>名称就是PVServiceImpl, 首字母没有小写 PageViewServiceImpl ==>名称是pageViewS ...
- 在MD中使用Emoji
mark语法中支持emoji表情 具体语法是:emoji: 比如我输入 :smile: 就会出现微笑
- JavaWeb xss攻击
出处: http://www.cnblogs.com/TankXiao/archive/2012/03/21/2337194.html XSS 全称(Cross Site Scripting) 跨站脚 ...
- Linpack之HPCG测试
平台信息 Description: CentOS Linux release 7.6.1810 (Core) 注意事项 安装HPL之前需要配置好: CXX编译器(检查:c++ -v) MPICH 并行 ...
- Maven 的setting.xml
<?xml version="1.0" encoding="UTF-8"?> <!-- Licensed to the Apache Soft ...
- java多线程(四)
一个例子: Account.java 客户实体类 package com.asiainfo.test.thread8; /** * 账户类 * @author luke * */ public cla ...
- window系统下SVN服务器和客户端的搭建和使用
SVN服务器下载地址: http://subversion.apache.org/packages.html 这里我选用VisualSVN server 服务端和 TortoiseSVN客户端搭配使用 ...
- C++中遇到的各种小问题
lpcwstr类型问题 在使用VS2010开发C++程序时,由于系统默认字符集是unicode字符集,造成与早期的字符串格式不兼容问题 ①Properties — Configuration Prop ...
- [转]FireFox与IE 下js兼容触发click事件的代码
本文转自:http://www.jb51.net/article/16549.htm FireFox与IE 下js兼容触发click事件 ,对于需要兼容这两者的朋友,就需要参考下下面的代码了<a ...