1. 程式人生 > >51NOD 1705 七星劍 [DP 期望的線性性質]

51NOD 1705 七星劍 [DP 期望的線性性質]

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
typedef long long ll;
const int N=105;
const double eps=1e-9,INF=1e100;
inline int read(){
    char c=getchar();int x=0,f=1;
    while(c<'0'||c>'
9'){if(c=='-')f=-1;c=getchar();} while(c>='0'&&c<='9'){x=x*10+c-'0';c=getchar();} return x*f; } int n,c[N],sum,g[10][N]; double p[10][N]; double d[10],x; void dp(){ d[0]=0; for(int i=1;i<=7;i++){ d[i]=INF; for(int j=1;j<=n;j++) if(p[i][j]){
double _=d[i-1]+c[j]-(1-p[i][j])*d[g[i][j]]; d[i]=min(d[i],_/p[i][j]); } } printf("%.10lf",d[7]); } int main(){ // freopen("in","r",stdin); n=read(); for(int i=1;i<=n;i++) c[i]=read(); for(int i=1;i<=7;i++){ bool flag=0; for(int
j=1;j<=n;j++) scanf("%lf",&p[i][j]),flag|=( abs(p[i][j])>eps ); if(!flag) {puts("-1");return 0;} } for(int i=1;i<=7;i++) for(int j=1;j<=n;j++) g[i][j]=i-1-read(); dp(); }

相關推薦

51NOD 1705 七星 [DP 期望線性性質]

#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <cmath> using namespace std; t

51nod 1705 七星期望DP

Description 夾克村附近來了一個大魔王,為了保護村民們的安全,夾老爺選出勇士準備去消滅這個大魔王。為了提高勇士的戰鬥力,夾克老爺決定出資為這個勇士打造一把神兵——七星劍。要打造一把七星劍,得在劍上鑲嵌7顆魔法石,在夾克村中一共找到N種不同的魔法石,標

51nod 1705七星 期望dp

分析:一開始覺得可以正推,但是怎麼都是WA。。不得已看正解,???高斯消元???,我當時就覺得肯定可以線性做,然後真讓我找到了。。http://www.cnblogs.com/candy99/p/651

概率/期望 [線性性質]

前言 由於我其實並不知道線性性質到底是什麼,所以按照自己的感覺把所有我覺得是線性性質解決的題目丟了進來。 那麼來看題吧。 題目 BZOJ2698 獨立考慮每個格子被刷到的概率。然後為了方便考慮k次操作以後這個格子不被刷到的概率,然後就要求1次操作以後這個格子不被刷到的概率,

51NOD演算法馬拉松 七星dp

七星劍 孔炤 (命題人) 基準時間限制:1 秒 空間限制:131072 KB 分值: 80 夾克村附近來了一個大魔王,為了保護村民們的安全,夾老爺選出勇士準備去消滅這個大魔王。為了提高勇士的戰鬥力,夾克

51nod 1450 闖關遊戲——期望dp

tdi def () for inf stdout i++ ostream 排序。 題目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1450 想了半天,不知道不能走的狀態(即最後不足m個的狀態

51Nod 1450 闖關遊戲 —— 期望DP

namespace ble blank pro www. problem int pan cstring 題目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1450 期望DP; INF 表示這種

bzoj4318 OSU!(期望概率DP,期望線性性)

bzoj4318 OSU! 題意: 一共有n次操作,每次操作只有成功與失敗之分,成功對應1,失敗對應0,n次操作對應為1個長度為n的01串。在這個串中連續的 X個1可以貢獻X^3 的分數,這x個

51nod 1406 與查詢 dp 考慮每一位 避免重復

void oid nco 方法 art div tchar turn nlog 題目鏈接: http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1406 題意: 有n個整數。輸出他之中和x相與之後結果為

CF839 C 樹形DP 期望

push_back spa .cpp ack 出發 com name tps ems 給一顆樹,求從根出發路徑長度的期望是多少。 樹形DP 要想清楚期望的計算 /** @Date : 2017-08-12 23:09:41 * @FileName: C

51nod 1201 整數劃分 dp

bit eps 不同的 color quest stream 空間 output lac 1201 整數劃分 基準時間限制:1 秒 空間限制:131072 KB 收藏 關註 將N分為若幹個不同整數的和,有多少種不同的劃分方式,例如:

BZOJ2720淺談期望線性性分部轉移

合並兩個有序的鏈表 wii log sm3 有序 兩個 esc dmv home 讀《代碼整潔之道》 合並兩個有序的鏈表 Spring+SpringMVC+hibernate整合開發 BZOJ4518征途[nlogn做法][斜率優化] g0a蒲輾詒http://p.baid

【BZOJ 3652】大新聞 數位dp+期望概率dp

貢獻 ble emp cst return post turn www 註意 並不難,只是和期望概率dp結合了一下.稍作推斷就可以發現加密與不加密是兩個互相獨立的問題,這個時候我們分開算就好了.對於加密,我們按位統計和就好了;對於不加密,我們先假設所有數都找到了他能找到的最

1076. [SCOI2008]獎勵關【狀壓DP+期望

下一個 blog pos out 至少 處理 hellip 每次 選擇 Description   你正在玩你最喜歡的電子遊戲,並且剛剛進入一個獎勵關。在這個獎勵關裏,系統將依次隨機拋出k次寶物, 每次你都可以選擇吃或者不吃(必須在拋出下一個寶物之前做出選擇,且現在

CF482C Game with Strings (狀壓DP+期望DP)

csu span fine 遊戲 pen pre 重復 http string 題目大意:甲和乙玩遊戲,甲給出n(n<=50)個等長的字符串(len<=20),然後甲選出其中一個字符串,乙隨機詢問該字符串某一位的字符(不會重復詢問一個位置),求乙能確定該串是哪個

[BZOJ3036]綠豆蛙的歸宿:DAG上DP+期望DP

分析: 其實這道題是可以正著DP的(即不需要在反圖上拓撲排序)(為什麼好多人都說不能?) 我們令f[i]表示從起點1出發到點i的期望距離,如果一些點能到達點i,那麼這些點中的每個點對f[i]的貢獻為f[j]*po[j],po[j]表示通過j到達i的概率。實際上,我們令p[i]表示從起點1出發能到達i的概率,

CF696B Puzzles 樹形dp+期望

D. Puzzles time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Barney lives

Discovering Gold(概率dp 期望入門)

題意 有一排洞穴,你在第一個洞穴,可以獲得該洞穴的黃金,然後擲標有1-6的骰子, 是幾就往下走幾步,並得到該洞穴的黃金。 當離終點小於6步且不合法時就重擲直到合法為止。 求起點出發的黃金的期望。 題解 概率dp入門題。 考慮到自己dp比較菜,概率dp更菜

NOIP模擬 發電機(逆元+期望線性性)

啦啦啦 【題目分析】 emmm,看到期望就丟了,結果這道題水的啊。。。。。。。。。DZYO:你就是知道是水題你也過不了 很明顯,一個點做的貢獻就是其出現的概率(因為只有一個點啦。。。),一個點如果出現,那麼一定比他的子樹中的節點更早出現(否則就選不到他了),所以概率為1

51nod 非010串(dp找規律+矩陣快速冪)

如果一個01字串滿足不存在010這樣的子串,那麼稱它為非010串。 求長度為n的非010串的個數。(對1e9+7取模) Input 一個數n,表示長度。(n<1e15) Output 長度為n的非010串的個數。(對1e9+7取模) Input示例 3 O