【NOIP2011模擬11.1】釣魚
【NOIP2011模擬11.1】釣魚
Description
我們把釣魚的過程放在座標系裡來考慮。圖中藍色的點為船,初始時它的座標記為(Ax,y)。河深為y,河寬為x。某個時刻會從左邊界或右邊界游出來一條魚(左邊的往右邊遊,右邊的往左邊遊),即魚游出來時的橫座標為0或x,這條魚每秒會遊D個單位長度,魚的長度為L。初始時刻為0,對於每個時刻x,船可以選擇花費1s向左或向右移動最多Q個單位長度,或者選擇在當前位置進行釣魚,釣魚的動作是瞬間的,且發生在時刻x,魚還來不及移動就被釣上了。如果選擇釣魚,那麼在時刻x就不能動。{x+1時刻可以選擇移動}設當前位置為z,將魚看成一條線段,當線段與直線x=z相交時就認為魚上鉤了,所以一次釣魚動作可能會釣多條魚。
聰明的你告訴釣魚者,在T時刻前最多能釣多少魚?
Input
第一行:T
第二行:Maxx,Maxy,表示河寬和河深
第三行:兩個數Ax,Q
第四行:N,表示有N條魚
接下來N行描述每條魚:每行共五個數,x,y,D,L,time
x表示魚頭的初始位置,保證為0或maxx,y表示魚頭的初始深度,time表示魚出現的時刻(所有的數都為整數)
Output
只有一行:ans,表示最多的釣魚數
Sample Input
3
4 5
4 1
3
0 1 3 1 0
4 2 2 1 0
0 3 3 1 2
Sample Output
3
Hint
30%的資料滿足
1<=N<=5
100%的資料滿足
1<=T,time<=10
1<=Ax,Ay,Q,x,y,D,L<=10
1<=N<=14
題解
容易想到DP
發現資料很小,可以用狀壓DP
設f[i][j][k]為時間i,x座標j,釣魚的狀態為k的最大釣魚數
轉移
1、移動:f[i+1][j-q ~ j+q][k]=f[i][j][k]
2、釣魚:f[i+1][j][k]=f[i][j][k]+fish(i,j,k)
3、不作操作:f[i+1][j][k]=f[i][j][k]
code
#include<cstdio>
#include<iostream>
#include<cstring>
#define N 15
using namespace std;
int ans,T,mx,my,ax,Q,n,p[N],q[N],d[N],l[N],t[N],f[N][N][17007];
int fish(int x,int y,int z){
int nl,nr;
for(int i=1;i<=n;i++){
if(p[i]==0) nr=(x-t[i])*d[i],nl=nr-l[i];
else nl=mx-(x-t[i])*d[i],nr=nl+l[i];
if(nl<=y&&nr>=y) z|=1<<(i-1);
}
return z;
}
int main(){
scanf("%d%d%d%d%d%d",&T,&mx,&my,&ax,&Q,&n);
for(int i=1;i<=n;i++) scanf("%d%d%d%d%d",&p[i],&q[i],&d[i],&l[i],&t[i]);
f[0][ax][0]=1;
for(int i=0;i<=T+1;i++)
for(int j=0;j<=mx;j++)
for(int s=0;s<=1<<n;s++){
if(!f[i][j][s]) continue;
int now=0;
for(int k=1;k<=n;k++) if(s&(1<<(k-1))) now++;
ans=max(ans,now);
for(int k=max(0,j-Q);k<=min(mx,j+Q);k++) f[i+1][k][s]=1;
f[i+1][j][fish(i,j,s)]=1;
}
printf("%d",ans);
}
相關文章
- 釣魚篇-其他釣魚
- 釣魚篇-郵件釣魚
- 釣魚篇-網路釣魚
- 釣魚篇-其他型別釣魚型別
- 【釣魚】與【反釣魚】的技術剖析
- 釣魚學習
- 11.1NOIP模擬賽解題報告
- 釣魚網站與反釣魚技術剖析(圓桌會議)網站
- 釣魚?這是反代理!
- 網路釣魚攻擊
- 網路釣魚是什麼?網路釣魚攻擊的形式有哪些?
- NOIP2024模擬賽20 & 11.1 小記
- 釣魚攻擊防不勝防,該如何預防網路釣魚攻擊?
- 釣魚郵件盯上iPhone,釣魚垃圾郵件又一個傳送高潮薦iPhone
- 釣魚郵件的心理學
- 使用powershell Client進行有效釣魚client
- 郵件釣魚攻擊與溯源
- 如何防範釣魚網站詐騙?網站
- NodeJS 應用倉庫釣魚NodeJS
- 關注 釣魚島事件進展!!!事件
- 釣不到魚?試試這款AguaDrone聲吶探魚無人機無人機
- 透過.PAC進行網路釣魚
- 關於釣魚郵件,你知道多少?
- 降低網路釣魚攻擊的風險
- 偽造服務釣魚工具Ghost Phisher
- 微信紅包火了,釣魚網站樂了網站
- “!提醒:續購防毒”釣魚網站套路防毒網站
- 美團被爆用釣魚郵件獲拼多多薪資資訊,電商企業如何防範釣魚郵件?
- 網路釣魚,你要怎麼防範
- 網路釣魚 你知道如何識別嗎?
- 雙因素認證繞過的釣魚工具
- 記一次完成的釣魚實戰
- 什麼是魚叉式網路釣魚?常見的方式有哪些?
- 315曝光釣魚WiFi如何不做那條上鉤的魚?WiFi
- PhishLabs:金融業的釣魚攻擊大幅增長,入侵現有網站成為釣魚活動首選策略網站
- 安全公司揭露in-session網路釣魚新手法Session
- GoogleTalk被黑客利用發動釣魚攻擊Go黑客
- 這樣的釣魚郵件,你會中招嗎?