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 三次握手和四次挥手面试题」得到了很多读者的认可,在此特别感谢你们的认可,大家都暖暖的. 来了,今 ...
随机推荐
- python爬虫处理在线预览的pdf文档
引言 最近在爬一个网站,然后爬到详情页的时候发现,目标内容是用pdf在线预览的 比如如下网站: https://camelot-py.readthedocs.io/en/master/_static/ ...
- 142、Java内部类之在普通方法里面定义内部类
01.代码如下: package TIANPAN; class Outer { // 外部类 private String msg = "Hello World !"; publi ...
- java编程,通过代理服务器访问外网的FTP
有些时候我们的网络不能直接连接到外网, 需要使用http或是https或是socket代理来连接到外网, 这里是java使用代理连接到外网的一些方法, 希望对你的程序有用.方法一:使用系统属性来完成代 ...
- 「学习笔记」Treap
「学习笔记」Treap 前言 什么是 Treap ? 二叉搜索树 (Binary Search Tree/Binary Sort Tree/BST) 基础定义 查找元素 插入元素 删除元素 查找后继 ...
- 网络协议-dubbo协议
Dubbo支持dubbo.rmi.hessian.http.webservice.thrift.redis等多种协议,但是Dubbo官网是推荐我们使用Dubbo协议的. 下面我们就针对Dubbo的每种 ...
- 首款中文渗透测试专用Linux系统—MagicBox
1. MagicBox的介绍 首款中文渗透测试专用Linux系统——MagicBox即将问世,中文名称:“魔方系统”,开发代号:Genesis.第一版本发布时间计划为2012年12月5日 这是 ...
- 小陈WEB漏洞扫描器 V2.0
小陈WEB漏洞扫描器 V2.0 小陈WEB漏洞扫描器 V2.0 https://pan.baidu.com/s/1NSmFCyxowEa3YlOuhvtwwQ
- 【剑指Offer面试编程题】题目1511:从尾到头打印链表--九度OJ
题目描述: 输入一个链表,从尾到头打印链表每个节点的值. 输入: 每个输入文件仅包含一组测试样例. 每一组测试案例包含多行,每行一个大于0的整数,代表一个链表的节点.第一行是链表第一个节点的值,依次类 ...
- 页面的五种布局以及嵌套『Android系列八』
转自:http://blog.csdn.net/dazlly/article/details/7860125 因为学习比较晚,我用的相关版本为SDK4.1.eclipse4.2,而自己看的教材都是低版 ...
- luogu P2762 太空飞行计划问题
好像是最大权闭合图,也就是最大流最小割啦,找出最大流的路径输出,这题如何建模呢,一样的先设源点和汇点,源点向每个计划连capacity为赞助数的边,每个计划连相应装置capacity为无穷的边,每个装 ...