HZOJ 老司機的狂歡

2022-03-27 16:09:26 字數 1863 閱讀 3458

比較神仙的一道題。

第一問還比較簡單一點:

t是否可行是單調的,考慮二分。

考慮對於兩個人i,j合法的條件,設x(i)

那麼把x離散作為陣列下標,t時間後的位置作為值,合法的最多人數為最長上公升子串行。

將t時間後的位置再次離散,樹狀陣列維護即可。

注意此序列的下標為離散後的x,並不是輸入的『老司機』的id,在求解第二問的時候要特別注意。

只需要判斷最長上公升子串行的長度與k的關係即可。

第二問就比較噁心了:

考慮求解最長上公升子串行的同時記錄前驅,那麼可以找到一種合法的方案。

之後考慮字典序最小這條限制。

問題在於對於點i,之前可能有多個點是最大值,但是需要選擇排序之後字典序最小的乙個轉移。

考慮dp的轉移;乙個點只能有他之前的乙個點轉移過來,所以是乙個樹形結構。

設f[j]=f[k]且都可以轉移到i,那麼考慮轉移的樹形結構,j,k處於同意深度,且lca及以上的序列相同。

當j->lca這條路徑上的最小值小於k->lca這條路徑的最小值時j比k更優。

那麼只要倍增維護前驅及最小值即可。

用樹狀陣列維護,轉移和第一問類似。

#include#include#include#include#include#include#include#define int ll

#define ll long long

using namespace std;

struct edge

ed[1000010];

int firs[100010],num_e;

#define f(x) firs[x]

struct node

}a[100010];

int n,k,ans,tx[100010];

bool v[100010];

vectoral1,al2;

struct tree

void add(int x,int y)

ll ask(int x)

}t;double a[200010],b[200010];ll c[200010],id[200010];int f[100010],pre[100010][26],prm[100010][26];

bool xy(int x,int y)

void add(int x,int y,int z) }

pair ask(int x)

return ans;

}}t2;

int solve(int t)

printf("%lld\n",l);

if(ans==2)

memset(f,0,sizeof(f));t2.clear();

for(int i=1;i<=n;i++)a[y(i)]=a[i].dis(l),b[y(i)]=a[y(i)],id[y(i)]=i;

sort(b+1,b+n+1);m=unique(b+1,b+n+1)-b-1;

for(int i=1;i<=n;i++)c[i]=lower_bound(b+1,b+m+1,a[i])-b;

for(int i=1;i<=n;i++)

for(int i=1;i<=n;i++)

if(f[i]>=k)

if(!al1.size())

sort(al1.begin(),al1.end());

sort(al2.begin(),al2.end());

for(int j=0;jal1[j])break;

} sort(al1.begin(),al1.end());

for(int i=0;i'9')

while(a>='0'&&a<='9')

return s*f;

}

老司機 (優先佇列)

題目背景 mjj駕駛著一輛特斯拉跑車,他需要開llkm的路程到a市,跑車上有pp度電,卡車沒開1km就需要1度電,如果在途中電路耗盡,則無法前進到達終點。題目描述 在途中一共有nn個充電樁,第ii個充電樁在距離起點a ikm的位置,最多可以給汽車充b i度電,假設跑車的電瓶容量無限大,請問mjj是否...

bugku 秋名山老司機

這道題,存粹是為了練習python 首先開啟題目鏈結我們可以發現,頁面提示在兩秒內要返回那一串數字的計算結果,顯然,人類是很難做到的 這道題我看了下好多人都是正規表示式直接匹配出來的,不過我對正則不太熟悉,所以就用 requests 加 beautifulsoup4 做的 不太熟悉的可以看下官方文件...

老司機 iOS 週報 3

第三期的週報如願以償的在周一和大家見面了。前兩期的時候因為剛開始做不知道能否做到每週一更。小夥伴們在磨合了兩周之後也互相有了默契。希望我們能夠繼續陪伴大家一起成長。標題已經說明一切,為了照顧強迫症我隨手打幾個字給你。realm 雲服務新版本開始第一 測啦!只需要簡單的配置即可接入,現在就來試試吧 申...