Блог пользователя awoo

Автор awoo, история, 3 года назад, По-русски

1832A - Новый палиндром

Идея: BledDest

Разбор
Решение (Neon)

1832B - Максимальная сумма

Идея: BledDest

Разбор
Решение (awoo)

1832C - Контрастность

Идея: BledDest

Разбор
Решение (Neon)

1832D1 - Красно-синие операции (простая версия)

Идея: BledDest

Разбор

1832D2 - Красно-синие операции (сложная версия)

Идея: BledDest

Разбор
Решение (awoo)

1832E - Задачка на комбинаторику

Идея: BledDest

Разбор
Решение (BledDest)

1832F - Зомби

Идея: BledDest

Разбор
Решение (awoo)
  • Проголосовать: нравится
  • +93
  • Проголосовать: не нравится

»
3 года назад, скрыть # |
 
Проголосовать: нравится +40 Проголосовать: не нравится

imbalanceForces

»
3 года назад, скрыть # |
Rev. 2  
Проголосовать: нравится +11 Проголосовать: не нравится

In the editorial of $$$E$$$, it is mentioned that $$$c_{i,0}=\sum_{j=1}^{i}{a_j}$$$. Actually, it should be $$$c_{i,0}=\sum_{j=1}^{i+1}{a_j}$$$ (with $$$c_{0,0}=a_1$$$ and $$$c_{n,0}$$$ is not needed).

Reason:

When we say $$$b_i$$$ (at $$$k$$$) $$$=$$$ $$$b_{i-1}$$$ (at $$$k$$$) $$$+$$$ $$$b_{i-1}$$$ (at $$$k-1$$$), this is true only when $$$k \gt 1$$$, because this will cause the last term in both $$$\sum_{j=1}^{j=i}{{i-j \choose k} \cdot a_j}$$$ and $$$\sum_{j=1}^{j=i}{{i-j \choose k-1} \cdot a_j}$$$ to be $$$0$$$ (as $$$0 \choose x$$$ is $$$0$$$ for positive $$$x$$$). However, this is not the case for the $$$2^{nd}$$$ summation when $$$k=1$$$. The last term will not be eliminated as $$${0 \choose 0}=1$$$.

Submission.

»
3 года назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

SorrowForces

»
3 года назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

I liked c

»
3 года назад, скрыть # |
Rev. 5  
Проголосовать: нравится 0 Проголосовать: не нравится

D1

I see applying Operation 2 $$$n$$$ or $$$n-1$$$ times from begin.

then, $$$k-(n-(n+k) ~\text{mod}~ 2)-1$$$ should be $$$k-(n-(n+k) ~\text{mod}~ 2)+1$$$ ?

Or, $$$k-n+1 + (n+k) \text{mod}~2$$$

»
3 года назад, скрыть # |
Rev. 2  
Проголосовать: нравится 0 Проголосовать: не нравится

Problem B:

I don't understand what is 'k — m' maximums, and I don't know what is k when m is the number of operations. Can anyone explain from me pls ??

  • »
    »
    3 года назад, скрыть # ^ |
    Rev. 2  
    Проголосовать: нравится +3 Проголосовать: не нравится

    $$$k$$$ is given in the statement. upd: $$$k$$$ is the total number of operations, $$$m$$$ is the number of operations of the first type (when we delete two minimum elements)

    $$$(k-m)$$$ maximums is $$$(k-m)$$$ greatest elements of the array, i. e. $$$(k-m)$$$ last elements in sorted order.

»
3 года назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

For problem F, quadrangle inequality properties also apply to array partition DP. So we can use Knuth's optimization for a second time on $$$dp$$$, which leads an $$$O(n^2)$$$ algorithm.

This is my submission: https://mirror.codeforces.com/contest/1832/submission/206185565.

»
3 года назад, скрыть # |
Rev. 2  
Проголосовать: нравится 0 Проголосовать: не нравится

Hi. can someone please tell me the error in this code which I used without prefix array

#include <bits/stdc++.h>
#define endl "\n"
#define int long long
using namespace std;


int maxRemoval(vector<int> &v){
    int n = v.size(), sum = 0;
    for(int i=0;i<n-1;++i){
        sum += v[i];
    }
    return sum;
}

int minRemoval(vector<int> &v){
    int n = v.size(), sum = 0;
    for(int i=2;i<n;++i){
        sum += v[i];
    }
    return sum;
}
signed main(){
ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    int t;
    cin >> t;
    while(t--){
    
        int n, k;
        cin >> n >> k;
        vector<int> v(n);
        for(int i=0;i<n;++i){
            cin >> v[i];
        }
        sort(begin(v), end(v));
       
        int ans = 0;
        for(int i=0;i<k;++i){
            int s1 = maxRemoval(v);
            int s2 = minRemoval(v);
        
            ans = max(s1, s2);
            if(s1 < s2){
                v.erase(v.end()-1);
            }
            else{
                v.erase(v.begin());
                v.erase(v.begin());
            }

        }
  
        cout << ans << endl;
  
    }
}

It runs correctly for 1st test case but tells that there is wrong answer on test 2 wrong answer 2459th numbers differ - expected: '8', found: '7' I mean does it really check 2459th number. did the testers even count upto that thing. I doubt it. Link to My Submission

»
3 года назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится

Hello guys, I am getting TLE in 1832E - Combinatorics Problem. I don't think I have made any logical errors, but I can't seem to understand why it's giving TLE. Please help :( -> 209759092

»
5 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится