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--一起来盖个时间戳!!
1.datetime import datetime print(datetime.datetime.now()) 2.time import time otherStyleTime = time.s ...
- Jdk的删除和配置
电脑里很久以前装的jdk7.0,现在升级到jdk8,为了避免冲突先彻底删除再重新安装新的jdk. 卸载: 设置——应用——搜索java(会显示两个)——左键点击——卸载 安装: jdk-8u212-w ...
- Centos7 之 MariaDB(Mysql) root密码忘记的解决办法
MariaDB(Mysql) root密码忘记的解决办法 1.首先先关闭mariadb数据库的服务 # 关闭mariadb服务命令(mysql的话命令就是将mariadb换成mysql) [root@ ...
- 在linux环境中配置tomcat
1.将tomcat文件上传到linux服务器上,并且解压文件. 2.创建文件夹 mkdir /usr/local/solr (这个文件夹,根据自己的喜好来创建) 3.将解压好的tomcat文件复制到 ...
- CH15 面向对象程序设计
面向对象程序设计是基于三个基本概念的:数据抽象.继承和多态. 第7章介绍了数据抽象的知识,简单来说,C++通过定义自己的数据类型来实现数据抽象. 数据抽象是一种依赖于接口和实现分离的编程技术:类的设计 ...
- Java 8 Stream 的终极技巧——Collectors 操作
1. 前言 昨天在 Collection移除元素操作 相关的文章中提到了 Collectors .相信很多同学对这个比较感兴趣,那我们今天就来研究一下 Collectors . 2. Collecto ...
- leetcode236 Lowest Common Ancestor of a Binary Tree
""" Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in ...
- liunx命令用到的
su:切换成root用户 sudo su:普通用户申请root权限 ping命令可以检查linux是否联网 ping www.baidu.com 如图就是联网了 结束ping包括其他linux的指令 ...
- python-python基础3
本章内容: 函数 递归 高阶函数 一.函数 一个函数一般完成一项特定的功能 函数使用 函数需要先定义 使用函数,调用
- ubi问题总结
一.挂载成功后,使用正常.有时会出现:UBIFS error (pid 76): ubifs_read_node: bad node type (255 but expected 1)UBIFS er ...