call對應函式式:k×x-p×x-c
put對應函式式:p×x-k×x-c
分析:1.建立乙個結構體,儲存型別type(call或put),以及c,p,k。
2.輸入完後,按p進行從小到大排序。
3.排完序後,每個區間段都已經分好了,接下來主要思考一下,對應區間的a,c的值
3.1,假設我們現在的**為x,那麼,此時我們可以執行比x小的所有call的指令,以及比x大的所有put的指令。
3.2,因為x是從0開始逐漸遞增的,因此,一開始x可以執行所有的put的指令,因此一開始a= - (put_k1+put_k2+…),而c=put_k1×put_p1+put_k2×put_p2+… - (c1+c2+…)(因為所有的指令都要乙個cost,因此要減去c的總和)。
3.3,當x逐漸增加時,會經過某條指令,當它為call時,a+k,,c-p×k,當它為put時,a+k,c-p×k,因此,無論是什麼指令,都要進行a+k,,c-p×k的操作。
注意:某些put或者call的p有可能會相同,這時要進行統一處理,會在**中體現。
**如下:
#include#include#include#include#includeusing namespace std;
typedef long long ll;
const int maxn=1e6+5;
struct name
n[maxn];
bool cmp(name x,name y) }
int main()
} sort(n+1,n+1+n,cmp);
a=-sum2;c=sum3-sum1;
printf("case #%d:\n",kase++);
printf("[0,%lld] ",n[1].p);
print(a,c);
temp=n[1].p;
for(i=1;i<=n;i++)
else
}if(i!=n)
printf("[%lld,%lld] ",n[i].p,n[j].p);
else printf("[%lld,...] ",n[i].p);
print(a,c);
} }return 0;
}
tips:**中統一處理p相同的部分要多注意,熟練起來。 2015廣東省賽總結
原本不想來總結的,但是還是總結一下好吧。首先這個學期本身投入到acm的時間不是很多,有時候想起來就去做一下,平時訓練的時候也就是做做cf或者做做其他的雜題,不系統,大部分時間在搞高數。比賽前期望還是很大的,可惜我沒有太大的付出,也不應該抱有太大的期望。我的最大的瓶頸還是在coding上面,寫的 真的...
2022 廣東省賽 總結
不知道比賽後續有沒有補題渠道 榜單 賽前一兩個星期左右的狀態非常非常差,看著我的 cf 分數從 1860 一直掉到 1640,各種模擬賽也是打的非常糟糕,感覺是心態出了很大問題 和女朋友很長時間沒見了,就順便一起去散散心,期間還害怕自己放的太鬆,還 vp 了一場 cf,然後慢慢就把狀態調整回來了 賽...
2023年5月6日GDCPC(廣東省賽)總結
emmmm,第二次華工爆零,從此對華工有陰影 逃。省賽前一天去試機,沒什麼問題,但我們隊只有我乙個去,隊友幫忙雲試機,機器沒什麼大問題,切了兩道水題,然後就關電腦走人,看師兄們除錯機器。到了正賽,就。從頭卡到尾,看了a題那麼多人過,而比賽過半我們還是一道題都沒有切出來,期間展寧和東鑫在想e題 我們所...