「CTSC 2011」幸福路径
[「CTSC 2011」幸福路径
蚂蚁是可以无限走下去的,但是题目对于精度是有限定的,只要满足精度就行了.
\({(1-1e-6)}^{2^{25}}=2.6e-15\)
考虑使用倍增的思想.
定义\(dp[x][y][t]\)为从\(x\)点出发,走\(2^t\)步,到达\(y\)所得到的最大权值.
dp转移:\(dp[x][y][t]=max(dp[x][k][t-1]+p^{2^{t-1}} dp[k][y][t-1])\)(\(k \subset [1,n]\)).
一次转移复杂度为\(o(n^3)\).
总复杂度\(o(n^3*K)\),\(K \leq 25\).
#include<bits/stdc++.h>
#define rep(q,a,b) for(int q=a,q##_end_=b;q<=q##_end_;++q)
#define dep(q,a,b) for(int q=a,q##_end_=b;q>=q##_end_;--q)
#define mem(a,b) memset(a,b,sizeof a )
#define debug(a) cerr<<#a<<' '<<a<<"___"<<endl
using namespace std;
void in(int &r) {
static char c;
r=0;
while(c=getchar(),!isdigit(c));
do r=(r<<1)+(r<<3)+(c^48);
while(c=getchar(),isdigit(c));
}
bool cur1;
const int mn=105;
const int mm=1005;
int n,m,cnt1,s;
double lp,p;
double val[mn],dp[mn][mn][2];
bool cur2;
int main() {
// cerr<<(&cur1-&cur2)/1024.0/1024<<endl;
freopen("path.in","r",stdin);
freopen("path.out","w",stdout);
int st;
scanf("%d%d",&n,&m);
rep(q,1,n)scanf("%lf",&val[q]);
scanf("%d%lf",&st,&p);
int a,b;
bool ok=1;
rep(q,1,n)rep(w,1,n)dp[q][w][ok]=-1e9;
rep(q,1,n)dp[q][q][ok]=0;
double Mx=0;
rep(q,1,m) {
scanf("%d%d",&a,&b);
dp[a][b][ok]=val[b]*p;
Mx=max(Mx,dp[a][b][ok]);
}
for(int tim=1;tim<=25;++tim){
if(p*Mx<1e-3)break;
ok=!ok;
rep(q,1,n)rep(w,1,n)dp[q][w][ok]=-1e9;
rep(q,1,n)dp[q][q][ok]=0;
rep(k,1,n)rep(q,1,n)rep(w,1,n)dp[q][w][ok]=max(dp[q][w][ok],dp[q][k][!ok]+dp[k][w][!ok]*p);
rep(q,1,n)rep(w,1,n)Mx=max(Mx,dp[q][w][ok]);
p*=p;
}
double ans=0;
rep(q,1,n)ans=max(ans,dp[st][q][ok]);
printf("%.1lf\n",val[st]+ans);
return 0;
}
「CTSC 2011」幸福路径的更多相关文章
- 「CTSC 2011」排列
「CTSC 2011」排列 要求不存在公差为 A 或者公比为 B 的子列,那么实际上可以把该问题转化为求一个图的最优拓朴序. 任意差为 A 或者比为 B 的两个数连一条边. 求一个合法序列的答案可以用 ...
- 「BZOJ 2434」「NOI 2011」阿狸的打字机「AC自动机」
题意 有一个打字机,支持三种操作: 字符串末尾加一个小写字母 字符串末尾减一个字符 输出这个字符串 经过不超过\(n\)次操作后有\(m\)组询问:\((x,y)\),表示第\(x\)次输出第字符串在 ...
- 「BZOJ 2342」「SHOI 2011」双倍回文「Manacher」
题意 记\(s_R\)为\(s\)翻转后的串,求一个串最长的形如\(ss_Rss_R\)的子串长度 题解 这有一个复杂度明显\(O(n)\)的做法,思路来自网上某篇博客 一个双倍回文串肯定当且仅当本身 ...
- 「CTSC 2008」祭祀
题目链接 戳我 \(Solution\) 第一问 这道题要知道一个叫做\(Dilworth\)的定理 最长反链\(=\)最小链覆盖 证明(\(from\ r\_64\)): 所以我们只要求一个最小链覆 ...
- 「BalticOI 2011」Switch the Lamp On
Casper is designing an electronic circuit on a \(N \times M\) rectangular grid plate. There are \(N ...
- 「CTSC 2013」组合子逻辑
Tag 堆,贪心 Description 给出一个数列 \(n\) 个数,一开始有一个括号包含 \([1,n]\),你需要加一些括号,使得每个括号(包括一开始的)所包含的元素个数 \(\leq\) 这 ...
- Solution -「POI 2011」「洛谷 P3527」MET-Meteors
\(\mathcal{Description}\) Link. 给定一个大小为 \(n\) 的环,每个结点有一个所属国家.\(k\) 次事件,每次对 \([l,r]\) 区间上的每个点点权加上 ...
- Solution -「CTSC 2018」「洛谷 P4602」混合果汁
\(\mathcal{Description}\) Link. \(n\) 种果汁,第 \(i\) 种美味度为 \(d_i\),每升价格 \(p_i\),一共 \(l_i\) 升.\(m\) ...
- LOJ6002 - 「网络流 24 题」最小路径覆盖
原题链接 Description 求一个DAG的最小路径覆盖,并输出一种方案. Solution 模板题啦~ Code //「网络流 24 题」最小路径覆盖 #include <cstdio&g ...
随机推荐
- 基于内存的关系数据库memsql初探
背景 广告系统中,算法模型预估需要根据广告的实时转化统计结果,才能做出更精准的预估:同时,支持多维度聚合查询(例如按照广告各个不同层级维度,按照时间不同粒度的维度),并跨大区合并.一开始的版本是基于m ...
- kafka2.x常用命令笔记(一)创建topic,查看topic列表、分区、副本详情,删除topic,测试topic发送与消费
接触kafka开发已经两年多,也看过关于kafka的一些书,但一直没有怎么对它做总结,借着最近正好在看<Apache Kafka实战>一书,同时自己又搭建了三台kafka服务器,正好可以做 ...
- CH7511|LT7211|PS8625替代方案 CS5211 设计EDP转LVDS优势方案原理图+PCB板设计
CH7511|LT7211|PS8625这三款都是专门用于设计EDP转LVDS转接板或者屏转换方案板,CH7511.LT7211.PS8625目前这几款都是出于缺货状态,台湾瑞奇达Capstone 新 ...
- CS5266代替AG9311|Type C转HDMI带PD3.0转换芯片|AG9311替代方案
ALGOLTEK AG9311是一款带PD3.0 Type C转HDMI的转换芯片,它主要用于usb Type-c拓展坞以及多功能usb Type-c转换器等产品设计当中,台湾瑞奇达新推出的CS526 ...
- Type-C扩展芯片|Type-C扩展方案|CSCapstone|扩展坞方案选型
一.关于Capstone Capstone科技于2018年8月在台湾成立.团队成员的多样性将硅谷和台湾的才华横溢的人联系在一起,以进行协作和取得优越成就. Capstone科技是由一个经验丰富的研发团 ...
- JDBC编程工具类 Dbconnection
JDBC基础:https://blog.csdn.net/weixin_44893902/article/details/106746880 Dbconnection工具类(包含了连接,增删改查,关闭 ...
- 编写Java程序,使用抽象类和抽象方法构建不同动物的扑食行为,抽象类设计
返回本章节 返回作业目录 需求说明: 不同的动物都有进食的行为,但是在进食前需要捕获到食物后才可以进食. 要求定义一个抽象的动物类,该类中有一个抽象的捕食方法,和一个非抽象的进食方法.在进食方法中调用 ...
- InnoDB学习(八)之 聚簇索引
InnoDB中,表数据文件本身就是以主键为索引的B+树,树的叶子节点存放一条条表数据,此索引树被称为表的聚簇索引.聚簇索引也称为聚集索引,聚类索引,簇集索引,聚簇索引确定表中数据的物理顺序. Inno ...
- spring boot 打包war后 部署到外部 tomcat 的具体正确操作【包括修改端口 与 去除请求路径的工程名】
1.前言 工程做好了,总不能放在idea运行吧?不然怎么把项目放到云服务器呢?[这一篇随笔不讲解发布的云服务器的操作,在其他随笔有详细记载.] 解决的方案是把springboot 工程 打包成war文 ...
- 浅讲EF高级用法之自定义函数
介绍 好久没给大家更新文章了,前2个月因家庭原因回到青岛,比较忙所以没有什么时间给大家更新知识分享,这2个月在和同事一起做项目,发现了很多好意思的东西拿出来给大家讲一讲. 正文 大家先来下面这幅图,这 ...