XJOI網上同步訓練DAY3 T1

2022-05-09 01:45:08 字數 852 閱讀 5982

思路:看來我真是思博了,這麼簡單的題目居然沒想到,而且我對複雜度的判定也有點問題。。

首先我們選了乙個位置i的b,那一定只對i和以後的位置造成改變,因此我們可以這樣看:

我們從前往後選,發現乙個位置的s和r相等,然後我們就選這個位置的bi,由於bi會改變當前位置,因此當前位置的vi我們就能吃到了。所以,每個位置的vi我們都能拿到,所以答案就是σvi,然後只要模擬過去就可以了。。

我真是太弱雞了。。還有這個演算法的複雜度是o(n^1.5),我一直以為是o(n^2)。。

1 #include2 #include3 #include4 #include5 #include6

#define ll long long

7 ll sum,r[200005],s[200005];8

int n,b[200005],v[200005],ans[200005],d[200005];9

ll read()

12while ('0'

<=ch&&ch<='9')

13return t*f;14}

15int

main()

29 printf("

%lld\n

",sum);

30for (int i=1;i<=n;i++) printf("

%d "

,ans[i]);

31 }

XJOI網上同步訓練DAY1 T3

思路 一開始看到這題的時候想dp,可是發現貌似不行。因為有字首也有字尾,而且有的字尾會覆蓋到現在的字首,這就不滿足無後效性了啊!但是有個很巧妙的思路 如果我們知道a i 的最大值,那麼p的數量和q的數量也確定了。所以序列長度也確定了,設m為序列長度。而且對於每個a i 都代表了乙個固定數量的p和q和...

XJOI網上同步測試DAY14 T2

思路 先考慮在d高度的最小圓覆蓋,再一層一層往下走時,可以保證圓心與最開始的圓相同的時候答案是最優的。時間複雜度o n 有乙個坑點,就是我用了srand time null 就t了,rp太差了。include include include include include include const...

ubuntu設定時區,網上同步時間

linux預設情況下使用utc格式作為標準時間格式,如果在linux下執行程式,且在程式中指定了與系統不一樣的時區的時候,可能會造成時間錯誤。如果是ubuntu的桌面版,則可以直接在圖形模式下修改時區資訊,但如果是在server版呢,則需要通過tzconfig來修改時區資訊了。使用方式 如將時區設定...