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( ...
随机推荐
- 正则-RegExp()构造函数
上次写了js正则的字面量声明,今天说说RegExp()构造函数声明: var p=/cat/g; //字面量声明var p=new RegExp('cat','g') //构造函数声明 它两所表达 ...
- Linux内核源代码获取教程
Linux内核源代码获取方法 什么叫Linux 什么叫Linux内核 Linux内核源代码的获取 什么叫Linux? Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UN ...
- [Tool]Inno Setup创建软件安装程序。
这篇博客将介绍如何使用Inno Setup创建一个软件安装程序. Inno Setup官网:http://www.jrsoftware.org/isinfo.php. 可以下载到最新的Inno Set ...
- HDU 1848 SG函数博弈
Fibonacci again and again Problem Description 任何一个大学生对菲波那契数列(Fibonacci numbers)应该都不会陌生,它是这样定义的:F(1 ...
- `这个符号在mysql中的作用
` 是 MySQL 的转义符,避免和 mysql 的本身的关键字冲突,只要你不在列名.表名中使用 mysql 的保留字或中文,就不需要转义. 所有的数据库都有类似的设置,不过mysql用的是`而已.通 ...
- “玲珑杯”ACM比赛 Round #7 B -- Capture(并查集+优先队列)
题意:初始时有个首都1,有n个操作 +V表示有一个新的城市连接到了V号城市 -V表示V号城市断开了连接,同时V的子城市也会断开连接 每次输出在每次操作后到首都1距离最远的城市编号,多个距离相同输出编号 ...
- Tray - a SharedPreferences replacement for Android
一个代替SharedPreferences的开源库, no Editor, no commit() no apply(),因此不存在UI卡顿现象,并且支持多线程,在一个线程中存另一个线程中取数据. h ...
- sqlmap 帮助信息
Usage: sqlmap.py [options] 选项: -h, --help 显示基本的帮助信息并退出 -hh 显示高级的帮助信息并退出 --version 显示程序版本号并退出 -v VERB ...
- HTML基础知识
一个完美的web前端攻城狮,所具备的专业素养有:HTML5.XHTML.CSS3.JavaScript.JQuery.PS.PHP等.所以说,我要学的东西还有很多... 没别得,我也是一个H5的初学者 ...
- NHibernate开发入门
首先,我们了解一下ORM是什么?ORM指对象关系映射(英语:Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程 ...