bzoj3380+3381+3382+3383 Usaco2004 Open
四道比较水的题
T1:SPFA+状压
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<queue>
#define INF 0x3f3f3f3f
using namespace std;
],dis[][],num,N,f[<<][],ans,vis[],mp[][];
void get_dis(int num){
queue<,sizeof(vis));
Q.push(num); dis[num][num]=INF; vis[num]=;
while (!Q.empty()){
int now=Q.front(); Q.pop();
; i<=n; i++){
){
dis[num][i]=max(dis[num][i],min(dis[num][now],mp[now][i]));
;
}
}
}
}
int main(){
scanf("%d%d%d", &n, &m, &K);
; i<=K; i++) scanf("%d", &id[i]);
memset(dis,,sizeof(dis));
,u,v,w; i<=m; i++) scanf("%d%d%d", &u, &v, &w),mp[v][u]=mp[u][v]=w;
; i<=n; i++) get_dis(i);
N=(<<K);
; i<=K; i++) f[<<(i-)][i]=;
; s<N; s++){
num=;
; i<=K; i++) <<(i-))) num++;
; i<=K; i++) <<(i-))){
; j<=K; j++) <<(j-))))
<<(j-))][j]|=f[s][i];
}
; i<=K; i++) <<(i-))) && f[s][i]){
]);
ans=max(ans,t);
}
}
printf("%d\n", ans);
;
}
T2:裸RMQ
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<cmath>
using namespace std;
;
];
int main(){
scanf("%d%d", &n, &m);
; i<=n; i++) scanf(]);
; (<<j)<=n; j++)
; i+(<<(j-))<=n; i++)
f[i][j]=min(f[i][j-],f[i+(<<(j-))][j-]);
,a,b; i<=m; i++){
scanf("%d%d", &a, &b);
)/log();
printf(<<t)+][t]));
}
;
}
T3:曼哈顿距离转切比雪夫距离
#include<stdio.h>
#include<algorithm>
#include<string.h>
#define INF 1000010
using namespace std;
int n,a,b,x,y,mxx,mxy,mnx,mny;
int main(){
scanf("%d", &n);
mxx=mxy=-INF; mnx=mny=INF;
; i<=n; i++){
scanf("%d%d", &a, &b);
x=b+a; y=b-a;
mnx=min(mnx,x); mxx=max(mxx,x);
mny=min(mny,y); mxy=max(mxy,y);
}
printf("%d\n", max(mxx-mnx,mxy-mny));
;
}
T4:set+最短路
#include<stdio.h>
#include<string.h>
#include<queue>
#include<set>
#include<algorithm>
using namespace std;
;
struct node{
int x,y,id;
friend bool operator<(node a, node b){
if (a.x==b.x) return a.y<b.y;
return a.x<b.x;
}
};
int n,t,x[maxn],y[maxn],dis[maxn];
queue<int> Q;
set<node> st;
node mk(int x, int y, int id){
node a; a.x=x; a.y=y; a.id=id; return a;
}
int main(){
scanf("%d%d", &n, &t);
; i<=n; i++){
scanf("%d%d", &x[i], &y[i]);
st.insert(mk(x[i],y[i],i));
}
dis[]=; x[]=y[]=;
Q.push();
while (!Q.empty()){
int now=Q.front(); Q.pop();
; i<=; i++) ; j<=; j++){
int X=x[now]+i, Y=y[now]+j;
));
if (next!=st.end()){
dis[next->id]=dis[now]+;
Q.push(next->id);
if (Y>=t){
printf("%d\n", dis[next->id]);
;
}
st.erase(next);
}
}
}
puts("-1");
;
}
bzoj3380+3381+3382+3383 Usaco2004 Open的更多相关文章
- Hsql中In没有1000的限制
SELECT * FROM user , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ...
- 基于json的jquery地区联动探索
贴一个基于jquery联动的代码,相信这样的代码有一大把,就当是jquery的练手吧, 写这个东西的初衷是来之于新浪微博,在新浪微博帐号设置里面有个地区的选项,使用js写的,想把它的代码给截获下来,可 ...
- JS逆向-抠代码的第二天【手把手学会抠代码】
今天的学习项目:沃支付:https://epay.10010.com/auth/login 清空浏览器缓存后,打开网页,输入手机号,密码222222,按照网站要求填入验证码(sorry,我没有账号密码 ...
- 游戏中的自动寻路-A*算法(第一版优化——走斜线篇)
一.简述以及地图 G 表示从起点移动到网格上指定方格的移动距离 (暂时不考虑沿斜向移动,只考虑上下左右移动). H 表示从指定的方格移动到终点的预计移动距离,只计算直线距离,走直角篇走的是直角路线. ...
- bzoj AC倒序
Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem ...
- jqu
1 /*2 * 说明:3 * 本源代码的中文注释乃Auscarlin呕心沥血所作.旨在促进jQuery的传播以及向广大jQuery爱好者提供一个进阶4 *的途径,以让各位更加深入地了解jQuery,学 ...
- 3381: [Usaco2004 Open]Cave Cows 2 洞穴里的牛之二
3381: [Usaco2004 Open]Cave Cows 2 洞穴里的牛之二 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 21 Solved ...
- bzoj3380: [Usaco2004 Open]Cave Cows 1 洞穴里的牛之一(spfa+状压DP)
数据最多14个有宝藏的地方,所以可以想到用状压dp 可以先预处理出每个i到j的路径中最小权值的最大值dis[i][j] 本来想用Floyd写,无奈太弱调不出来..后来改用spfa 然后进行dp,这基本 ...
- [BZOJ3380] [USACO2004 Open]Cave Cows 1 洞穴里的牛之一
Description 很少人知道其实奶牛非常喜欢到洞穴里面去探险. 洞窟里有N(1≤N≤100)个洞室,由M(1≤M≤1000)条双向通道连接着它们.每对洞室间 至多只有一条双向通道.有K( ...
随机推荐
- 将数据导入Excel
/** * 查询未打印订单 * @param req * @param sort * @param order * @param rows * @param page * @return */ pub ...
- 记录NS_ASSUME_NONNULL_BEGIN和NS_ASSUME_NONNULL_END。
Nonnull区域设置(Audited Regions) 如果需要每个属性或每个方法都去指定nonnull和nullable,是一件非常繁琐的事.苹果为了减轻我们的工作量,专门提供了两个宏:NS_AS ...
- File System的简单操作
在进行这些操作之前,需要在js文件中导入fs模块 const fs = require("fs"); const是定义一个常量,比较特殊的是,使用const定义时必须赋值,一旦被赋 ...
- 阿里云centos7基于搭建VPN
本文参考自:http://www.xxkwz.cn/1495.html 前段时间使用pptp搭建了一个VPN,速度很快,但是用了大概一个月挂了,估计是被墙了吧,于是,用shadowsocks重新搭建了 ...
- squid 2.7 通过域名反向代理多个服务器的配置方法
详细配置及注释如下,供大家学习参考. visible_hostname squid1.abc.com #设定squid的主机名,如无此项squid将无法启动 http_port 80 accel vh ...
- Linux安装卸载Mysql数据库
关于mysql数据库在Linux下的应用一直以来都是我认为比较棘手的,这次通过搭建Linux学习环境顺便研究和学习Mysql数据库在Linux下安装和卸载. 1.先来看看卸载吧,如下图所示: 以上的命 ...
- embed chrome 无法播放问题
火狐下<embed src='1.mp3' autostart='false' hidden='true' loop='false' ></embed>正常, chrome 不 ...
- 卸载oracle 11g数据库软件
卸载oracle,从11g开始使用deinstall卸载数据库软件可以干净卸掉oracle $ cd $ORACLE_HOME/deinstall $ ls -l total 152 -rwxr-xr ...
- C++ 系列:C++ 对象模型
1 何为C++对象模型 C++对象模型可以概括为以下2部分: 1.语言中直接支持面向对象程序设计的部分: 2.对于各种支持的底层实现机制 语言中直接支持面向对象程序设计的部分,如构造函数.析 ...
- 19.Java 注解
19.Java注解 1.Java内置注解----注解代码 @Deprecated //不推荐使用的过时方法 @Deprecated ...