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 三次握手和四次挥手面试题」得到了很多读者的认可,在此特别感谢你们的认可,大家都暖暖的. 来了,今 ...
随机推荐
- .net设计模式
1.单例模式 public sealed class Singleton { static intance=null; static readonly object padlock=new objec ...
- 一 注册功能&登录功能,权限拦截
注册功能: 前端JSP:提供表单注册信息以及访问路径,发送请求到Strus2. Struts2 : 通过模型驱动接收并封装User对象,Spring依赖注入(无参构造+setter方法)获取业务层Us ...
- 为Linux环境安装图形化界面
1.更新软件源并升级系统 yum uppdate&&yum install wqy-microhei-fonts 2.安装GNOME+VNC一键包 wget https://gist. ...
- java虚拟机之内存分配
Java 的自动内存管理主要是针对对象内存的回收和对象内存的分配.同时,Java 自动内存管理最核心的功能是 堆 内存中对象的分配与回收. JDK1.8之前的堆内存示意图: 从上图可以看出堆内存分为新 ...
- JavaScript中的变量在内存中的具体存储形式
栈内存和堆内存 JavaScript中的变量分为基本类型和引用类型 基本类型是保存在栈内存中的简单数据段,它们的值都有固定的大小,保存在栈空间,通过按值访问 引用类型是保存在堆内存中的对象,值大小不固 ...
- Hadoop的伪分布式安装和部署的流程
1.准备工作 下载一些用到的命令 yum install -y vim yum install -y lrzsz yum install net-tools 目录约定 /opt #工作目录 /opt/ ...
- tensorflow之逻辑回归模型实现
前面一篇介绍了用tensorflow实现线性回归模型预测sklearn内置的波士顿房价,现在这一篇就记一下用逻辑回归分类sklearn提供的乳腺癌数据集,该数据集有569个样本,每个样本有30维,为二 ...
- jquery使用css函数设置背景色无效解决办法
外部的css样式为: #imageArea{ width: 200px; height: 300px; background-color: #eee !important; } 通过 以下代码来修改其 ...
- ng-校验重复并提示具体重复内容
//校验其他等级模块是否存在"职业类别"完全一致的等级模块 var moreFlag=false; for(var i=0;i<$scope.djArr.length;i++ ...
- 093、Java中String类之字符串是匿名对象
01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...