bzoj 4008、4011、1499
全是扒题解,,,太弱了。。。
不乱BB了。
4008
#include <bits/stdc++.h>
#define LL long long
#define lowbit(x) x&(-x)
#define inf 0x3f3f3f3f
#define eps 1e-5
#define N 100005
using namespace std;
inline int ra()
{
int x=,f=; char ch=getchar();
while (ch<'' || ch>'') {if (ch=='-') f=-; ch=getchar();}
while (ch>='' && ch<='') {x=x*+ch-''; ch=getchar();}
return x*f;
}
int T;
int n,r,d[];
double p[];
double f[][],pw[][];
int main(int argc, char const *argv[])
{
T=ra();
while (T--)
{
n=ra(); r=ra();
memset(f,,sizeof(f));
for (int i=; i<=n; i++)
{
scanf("%lf",&p[i]);
d[i]=ra();
}
double ans=;
for (int i=; i<=n; i++)
{
pw[i][]=;
for (int j=; j<=r; j++) pw[i][j]=pw[i][j-]*(-p[i]);
}
f[][r]=;
for (int i=; i<n; i++)
for (int j=; j<=r; j++)
{
f[i+][j]+=f[i][j]*pw[i+][j];
if (j->=)
{
f[i+][j-]+=f[i][j]*(-pw[i+][j]);
ans+=f[i][j]*(-pw[i+][j])*d[i+];
}
}
printf("%.10lf\n",ans);
}
return ;
}
4011
#include <bits/stdc++.h>
#define LL long long
#define lowbit(x) x&(-x)
#define inf 0x3f3f3f3f
#define eps 1e-5
#define N 100005
using namespace std;
inline int ra()
{
int x=,f=; char ch=getchar();
while (ch<'' || ch>'') {if (ch=='-') f=-; ch=getchar();}
while (ch>='' && ch<='') {x=x*+ch-''; ch=getchar();}
return x*f;
}
const int mod=1e9+;
LL ans=;
int n,m,x,y,cnt;
int head[],d[],b[];
LL f[],ine[];
vector<int> st;
struct edge{
int to,next;
}e[];
void insert(int x, int y)
{
e[++cnt].next=head[x]; e[cnt].to=y; head[x]=cnt;
}
void dp()
{
f[y]=ans;
for (int i=; i<=n; i++) if (!d[i]) st.push_back(i);
while (!st.empty())
{
int now=st.back(); st.pop_back();
f[now]=f[now]*ine[b[now]]%mod;
for (int i=head[now];i;i=e[i].next)
{
f[e[i].to]=(f[e[i].to]+f[now])%mod;
d[e[i].to]--;
if (!d[e[i].to]) st.push_back(e[i].to);
}
}
}
int main(int argc, char const *argv[])
{
n=ra(); m=ra(); x=ra(); y=ra();
ine[]=;
for (int i=; i<=m+; i++) ine[i]=(-ine[mod%i]*(mod/i)+mod)%mod;//??
for (int i=; i<=m; i++)
{
int xx=ra(),yy=ra();
insert(xx,yy);
d[yy]++;
}
d[y]++;
for (int i=; i<=n; i++) b[i]=d[i];
for (int i=; i<=n; i++)
ans=ans*d[i]%mod;
d[y]--;
if (y==) {printf("%lld\n",ans); return ;}
dp();
ans=(ans-f[x]+mod)%mod;
printf("%lld\n",ans);
return ;
}
1499
#include <bits/stdc++.h>
#define LL long long
#define lowbit(x) x&(-x)
#define inf 0x3f3f3f3f
#define eps 1e-5
#define N 100005
using namespace std;
inline int ra()
{
int x=,f=; char ch=getchar();
while (ch<'' || ch>'') {if (ch=='-') f=-; ch=getchar();}
while (ch>='' && ch<='') {x=x*+ch-''; ch=getchar();}
return x*f;
}
char a[][];
int f[][];
int xx[]={,-,,,},yy[]={,,,-,};
int q[],pos[],head,tail;
int n,m,sx,sy,K,ans;
void push(int now, int val)
{
if (val==-inf) return;
while (val-now>q[tail] && head<=tail) tail--;
q[++tail]=val-now;
pos[tail]=now;
}
void dp(int p, int x, int y, int d, int T)
{
head=,tail=; int now=;
while (x<=n && y<=m && x>= && y>=)
{
if (a[x][y]=='x') head=,tail=;
else push(now,f[x][y]);
while (now-pos[head]>T && head<=tail) head++;
if (head<=tail) f[x][y]=q[head]+now;
else f[x][y]=-inf;
ans=max(ans,f[x][y]);
x+=xx[d]; y+=yy[d];
now++;
}
}
int main(int argc, char const *argv[])
{
n=ra(); m=ra(); sx=ra(); sy=ra(); K=ra();
for (int i=; i<=n; i++) scanf("%s",a[i]+);
for (int i=; i<=n; i++)
for (int j=; j<=m; j++)
f[i][j]=-inf;
f[sx][sy]=;
for (int i=; i<=K; i++)
{
int x=ra(),y=ra(),d=ra();
if (d==) for (int j=; j<=m; j++) dp(i,n,j,d,y-x+);
if (d==) for (int j=; j<=m; j++) dp(i,,j,d,y-x+);
if (d==) for (int j=; j<=n; j++) dp(i,j,m,d,y-x+);
if (d==) for (int j=; j<=n; j++) dp(i,j,,d,y-x+);
}
printf("%d\n",ans);
return ;
}
bzoj 4008、4011、1499的更多相关文章
- JQUERY省、市、县城市联动选择
JQUERY 插件开发——CITYLINKAGE(省.市.县城市联动选择) 第一部分:背景 开发源于需求,本次城市联动选择插件算是我写插件的一个特例吧,不是我目前工作需要些的,算是兴趣驱使吧.之前 ...
- Jquery 插件开发——citylinkage(省、市、县城市联动选择)
第一部分:背景 开发源于需求,本次城市联动选择插件算是我写插件的一个特例吧,不是我目前工作需要些的,算是兴趣驱使吧.之前呢,一直想写这个插件,然后错过了一个写这个插件的机会(这个得回顾到很久以前了. ...
- 关于UID和GID的创建、修改、删除;简要举例
用户.组和权限 安全3A资源分派 (authentication)认证 (authorization)授权 (accounting)审计 user( 用户) Linux用户:Username/UID ...
- 【BZOJ】【4011】【HNOI2015】落忆枫音
拓扑排序+DP 题解:http://blog.csdn.net/PoPoQQQ/article/details/45194103 http://www.cnblogs.com/mmlz/p/44487 ...
- 从Hash Killer I、II、III论字符串哈希
首先,Hash Killer I.II.III是BZOJ上面三道很经典的字符串哈希破解题.当时关于II,本人还琢磨了好久,但一直不明白为啥别人AC的代码都才0.3kb左右,直到CYG神犇说可以直接随机 ...
- linux用户、组、权限问题
用户.组.权限一.权限:r, w, x1.文件权限: r:可读,可以使用类似cat等命令查看文件内容: w:可写,可以编辑或删除此文件: x: 可执行,eXacutabl ...
- 第六节 etc/passwd 、etc/shadow 、 useradd 、 groupadd
调优方法原理:禁用atime的修改来节省cpu和内存资源.命令:mount noatime disk 1.配置文件1. /etc/passwd文档结构:由":" 分隔成7个字段&q ...
- Linux权限管理(用户、组、文件管理)
一. Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示. 1. 文件查看类命令cat,tac, head, tail, more, less, ls ,file: -ls : l ...
- 【图解】你还在为 TCP 重传、滑动窗口、流量控制、拥塞控制发愁吗?看完图解就不愁了
每日一句英语学习,每天进步一点点: 前言 前一篇「硬不硬你说了算!近 40 张图解被问千百遍的 TCP 三次握手和四次挥手面试题」得到了很多读者的认可,在此特别感谢你们的认可,大家都暖暖的. 来了,今 ...
随机推荐
- web前端面试第一次[定时器]
BOM中定时器--计时器 定时器参数两个:(函数,时间(单位ms(1000ms=1s))) 时间设置1s,每过1s执行一次函数 //设置定时器 setInterval(funtion(){ alert ...
- Codeforces1307B. Cow and Friend
本题的难点是可以在y轴正轴动,但也是突破点,知道x轴都是整数,那么对于任意长度来说,能到达的最短是1,最长是本身长度,那么我们就选择最长的距离,跳到一个点,使这个点为再跳就超过终点,那么就可以用2次跳 ...
- Firefox 的 hack 及 问题
hack: @-moz-document url-prefix(){ #selector{ display: flex; justify-content: space-between; } } 问题一 ...
- red hat 7、centos7的root密码破译
一.在开机画面时按"E". 二.找到linux16开头的这段,在段尾添加空格"rd.break"然后按Ctrl+x进入系统紧急救援模式. 三.新的界面出现命令行 ...
- runas的替代品CPAU使用
runas替代软件CPAU 在windows系统下,想要实现某个程序不论何时都以指定的用户身份登录,因此找到了CPAU这个软件 cpau官方网站:https://www.joeware.net/fre ...
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 表单:文本框(Textarea)
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- 夯实Java基础(十八)——泛型
1.什么是泛型 泛型是Java1.5中出现的新特性,也是最重要的一个特性.泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数.这种参数类型可以用在类.接口和方法的创建中,分别称为泛型类. ...
- Android适配底部虚拟按键的方法
---恢复内容开始--- 版权声明:本文为博主原创文章,未经博主允许不得转载. 最近项目进行适配的时候发现部分(如华为手机)存在底部虚拟按键的手机会因为虚拟按键的存在导致挡住部分界面,因为需要全屏显示 ...
- redis有序集合-zset
概念:它是在set的基础上增加了一个顺序属性,这一属性在添加修改元素的时候可以指定,每次指定后,zset会自动按新的值调整顺序.可以理解为有两列的mysql表,一列存储value,一列存储顺序,操作中 ...
- 用go语言实现磁力猫一样的磁力搜索网站
1.页面展示 演示站点 2.程序架构 名称 用途 server 收集torrent数据 worker 收集Hash信息 web 数据展示 Tool 工具 3.安装 在安装环境前您需要配置golang环 ...