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( ...
随机推荐
- 显示或隐藏div
代码来源于博客,如有侵权,请联系我! ASP.NET中TextBox控件设置ReadOnly="true"H或Enabled=false后台取不到值 当TextBox设置了Read ...
- 关于计算机改名无法连接TFS的问题
今天重新导入了两台服务器, 修改了机器名,结果VS2012链接TFS报错 --------------------------- Microsoft Visual Studio ----------- ...
- 1.1Axure简介
1.部件:点击部件右上角的?,可以看到相关注释,注释底部有网站链接,可查看部件的详细介绍.
- mac版本cornerstone的无限期破解方法【转】
CornerStone是个人非常喜欢的mac上的一款SVN客户端工具,官方提供了14天的免费试用(trail)版本.我们可以在此基础上提供无限期试用版本. 方法一:如果你从来没有安装过这个trail版 ...
- Linux学习内容
Linux学习要点(转载自红联) 一.学习Linux的基本要求1. 掌握至少50个以上的常用命令. 2. 熟悉Gnome/KDE等X-windows桌面环境操作 . 3. 掌握.tgz..rpm等软件 ...
- [Linux] xargs 和 管道符的区别
今天刚好遇到需要使用xargs的情况,就来研究一下xargs 和 管道符的区别 举几个例子,下面两个语句执行后的结果是什么呢? 1. zhang$ find . -name "*.prope ...
- OpenMesh 将默认的 float 类型改为 double 类型
OpenMesh 中默认的数据类型都是 float 类型的,如果要将其默认的 float 类型改为 double 类型,可以这么做: #include <OpenMesh/Core/Mesh/P ...
- 一个简单的消息提示jquery插件
最近在工作中写了一个jquery插件,效果如下: 就是一个简单的提示消息的一个东西,支持最大化.最小化.关闭.自定义速度.自定义点击事件,数据有ajax请求和本地数据两种形式.还有不完善的地方,只做了 ...
- Axure RP = Axure Rapid Prototyping
不要一味追求高保真,特别是交互后产生动态数据.并且将动态数据交互传递出去,违背了做原型的初衷了. 自己做着玩追求高保真可以,有成就感. 但作为工作的话,效率优先.能简单直观地展示必要的交互效果即可.
- 对rxandroid的简单理解
最近发现这个rxandroid挺火的,我就研究了一下,还真的挺不错. 首先在说之前可能很多人会和我刚刚学习的时候一样有很多疑问,如: 1:rxandroid是什么东西? 2:rxandroid能干嘛? ...