StellarSpecter's blog

By StellarSpecter, history, 4 months ago, In English

Rating changes for last rounds are temporarily rolled back. They will be returned soon.

Why did they takeaway those rating points ? Can anyone explain to me ? What did I do wrong and why did they took my rating points to do some investigation upon me ?

Full text and comments »

  • Vote: I like it
  • -9
  • Vote: I do not like it

By StellarSpecter, history, 4 months ago, In English

2004E - Это не задача про ним

My code snippet

Whats wrong, its giving WA on testcase 3, 140th value differs found BOB correct Alice.

I'm struggling for 10 hours with this

UPD: haha what a funny bug. Thanks to WhisperingWillow

Full text and comments »

  • Vote: I like it
  • +3
  • Vote: I do not like it

By StellarSpecter, history, 4 months ago, In English

Hello everyone, I don't know what a Educational Codeforces Round 169 (Rated for Div. 2) is. Is there anything particularly more educational about it.

Do you need to be more educated to give the round or what ?

WHY JUST WHY?

PS: Seeing cheaters getting actually banned makes me so happy!

Full text and comments »

  • Vote: I like it
  • -2
  • Vote: I do not like it

By StellarSpecter, history, 4 months ago, In English

2000F - Color Rows and Columns

Greedy: First we find which dimension is the smallest say it's x (and it's partner dimension is y), we keep colouring x until x=y-1, now we can colour y-1 twice for y-1 cost each and we will have (x-1,x) as resulting dimension. We keep doing it until we get to say (0,1) which means we have one row/column coloured for no extra cost!

We can implement this strategy by using some visited array to keep marking indices etc. I have done the implementation but it's failing on some random testcase. I can't even dry run why is it not working. Can anyone help me with it by providing a testcase where greedy fails and why DP is the way to go.

Tagging my fav ppl (if you're free, please respond)

Fav. LGM neal. (sorry, tourist doesn't count)

Fav. IGM Shayan

Fav. IM aryanc403

Fav. CM stefdasca

Fav. Expert jatrophalouvre

Thanks for your time for reading it.

Full text and comments »

  • Vote: I like it
  • -24
  • Vote: I do not like it

By StellarSpecter, history, 5 months ago, In English

Why Edu Round Delta has not been updated yet?

Also, When I'm trying to submit my code, it says it's in queue.(It's been so long)

Does anyone know when will it get fixed ?

Full text and comments »

  • Vote: I like it
  • -10
  • Vote: I do not like it

By StellarSpecter, history, 5 months ago, In English

As a newbie, I want expert opinions on who is the best explainer of contest problems on youtube.

Is it aryanc403 or Shayan or someone else.

Thanks

Full text and comments »

  • Vote: I like it
  • +6
  • Vote: I do not like it

By StellarSpecter, history, 5 months ago, In English

I've been wondering for soo long about this. Some people get -ve delta after skipped contest while some get " — " (unrated) shown in their contests list. Why is that so ?

Thanks!

Full text and comments »

  • Vote: I like it
  • 0
  • Vote: I do not like it

By StellarSpecter, history, 6 months ago, In English

Why is this happening, please i have been stuck on this for a day now. I've searched everywhere. This is the problem DP problem -> Palindrome partitioning

I couldn't solve it and looking at solutions i couldn't understand why some solution pass and some do not, Please help me with it. I want to understand why iterative gives TLE and recursive solution passes.

Thanks.

Iterative code ->

class Solution {
public:
    int minCut(string s) {
        int n = s.size();
        vector<vector<int>>dp(n,vector<int>(n));
        vector<vector<int>>ck(n,vector<int>(n));
        for(int i=0;i<n;i++) ck[i][i]=1;
        for(int i=n-1;i>=0;i--){
            for(int j=i+1;j<n;j++) {
                if(j-i==1&&s[i]==s[j]) ck[i][j]=1;
                else ck[i][j]=ck[i+1][j-1]&&(s[i]==s[j]);
            }
        }
        for(int i=0;i<n;i++){
            for(int j=0;j<n;j++) {
                if(ck[i][j]||(i==j)) dp[i][j] = 0;
                else dp[i][j] = j-i;
            }
        }
        for(int i=n-1;i>=0;i--){
            for(int j=i+1;j<n;j++){
                if(ck[i][j]) {
                    dp[i][j]=0;
                    continue;
                }
                for(int k=i;k<j;k++){
                    if(ck[i][k]) dp[i][j]=min(dp[i][j],1+dp[k+1][j]);
                }
            }
        }
        return dp[0][n-1];
    }
};

This code doesn't work fine and gives TLE.

class Solution {
public:
    int solve(string &s,vector<vector<int>>&dp,vector<vector<int>>&ck,int i, int j){
        int n = s.size();
        if(i>=j) return 0;
        if(dp[i][j]!=-1) return dp[i][j];
        if(ck[i][j]) return dp[i][j] = 0;
        int val = j-i;
        for(int k=i;k<=j;k++){
            if(ck[i][k]) val = min(val,1+solve(s,dp,ck,k+1,j));
        }
        return dp[i][j] = val;
    }
    int minCut(string s) {
        int n = s.size();
        vector<vector<int>>dp(n,vector<int>(n,-1));
        vector<vector<int>>ck(n,vector<int>(n));
        for(int i=0;i<n;i++) ck[i][i]=1;
        for(int i=n-1;i>=0;i--){
            for(int j=i+1;j<n;j++) {
                if(j-i==1&&s[i]==s[j]) ck[i][j]=1;
                else ck[i][j]=ck[i+1][j-1]&&(s[i]==s[j]);
            }
        }
        return solve(s,dp,ck,0,n-1);
    }
};

This code works fine and beats 90% of users on leetcode.

why is this happening, please i have been stuck on this for a day now. I've searched everywhere.

Thanks!

Full text and comments »

  • Vote: I like it
  • 0
  • Vote: I do not like it

By StellarSpecter, history, 6 months ago, In English

I recently started doing 800 rated problems.

How do I improve when I can't solve? GCD,LCM, etc Math seems too hard.

Full text and comments »

  • Vote: I like it
  • -8
  • Vote: I do not like it

By StellarSpecter, history, 6 months ago, In English

When was last plag check and when should be the next ?

I have no idea when they do it, can anyone tell me ?

Thanks!

Full text and comments »

  • Vote: I like it
  • -21
  • Vote: I do not like it

By StellarSpecter, history, 6 months ago, In English

Hello, I have no friends irl and that's why my friend's standing page in contests is filled with tourist and me only.

Anyone who is willing to be my friend please let me know, I will add you back and we can talk a little when i'm in trouble.

Thanks alot!

PS: Don't hate on this newbie. PS: Good luck everyone for tomorrow's Div.2

Full text and comments »

  • Vote: I like it
  • +49
  • Vote: I do not like it

By StellarSpecter, history, 6 months ago, In English

I can't stand the wait of ~ 1 week for the contests. Why there are so few contests like this month only has 4??

Last one was on 30th June, and now on 7th july then 15th July :( . I can't just keep practicing for 7 days straight I need something to practice and test upon. No, i can't keep on giving virtuals either. I have to go back to college from 25th July and I won't be able to dp cp after that. Im tired of doing leetcode only.

MikeMirzayanov It's a humble request. @every_LGM_IGM_GM_M_CM

TLDR: Please make more contests.

THANKS!

Full text and comments »

  • Vote: I like it
  • -40
  • Vote: I do not like it

By StellarSpecter, history, 6 months ago, In English

I can't understand why this solution 268341805 is passing but this 268341778 is giving WA on testcase 2, both codes are 99% same.

TLDR: I am writing down the part of my code which I changed so that my code got AC.

Please all the help would be greatly appreciated. Thank you so much in advance.

auto it = upper_bound(v.begin(),v.end(),val);
                        if(it!=v.end()&&it!=v.begin()) {
                            ans=min(ans,min(abs(*(it)-val),abs(*(--it)-val))); // old
                        }
                        else if(it==v.end()) {
                            ans = min(ans,abs(*(--it)-val));  //old
                        }
                        else if(it==v.begin()) {
                            ans=min(ans,abs(*(it) - val));  //old
                        }
auto it = upper_bound(v.begin(),v.end(),val);
                        if(it!=v.end()&&it!=v.begin()) {
                            auto it2 = it; it--;                                   // new
                            ans=min(ans,min(abs(*it2-val),abs(*(it)-val)));
                        }
                        else if(it==v.end()) {
                            it--;
                            ans = min(ans,abs(*(it)-val));                        // new
                        }
                        else if(it==v.begin()) {
                            ans=min(ans,abs(*it - val));                         // new
                        }

Full text and comments »

  • Vote: I like it
  • +2
  • Vote: I do not like it

By StellarSpecter, history, 6 months ago, In English

What did I do to deserve so many downvotes on each and every thing I have posted comments, blogs, etc.

When i ask questions -> I get downvoted. I ask for tips -> I get downvoted.

I checked, I'm the 35th lowest rated with -62 on the whole platform. :(((

Please STOP this ratism.

Full text and comments »

  • Vote: I like it
  • -23
  • Vote: I do not like it

By StellarSpecter, history, 6 months ago, In English

I solved it as if y<0 and abs(y) >= abs(x) cout<<"NO"<<endl;

But this did not work even after trying so long.

why is this incorrect can anyone help this newbie?

THANKS!

Full text and comments »

  • Vote: I like it
  • -6
  • Vote: I do not like it

By StellarSpecter, history, 6 months ago, In English

I SOLVED PROBLEM C IN TODAY"S DIV.2 :((((

WHY MY RATING IS STILL SAME WHILE FOR EVERYONE ELSE THERE IS A DELTA>0

Full text and comments »

  • Vote: I like it
  • -20
  • Vote: I do not like it

By StellarSpecter, history, 6 months ago, In English

Help me solve this problem please ->

**** **** There is an array of n elements, initially filled with zeros. You need to write a data structure that processes two types of queries: assign value v to all elements on the segment from l to r−1, find the sum on the segment from l to r−1.

Input

The first line contains two numbers n and m (1≤n, m≤100000), the size of the array and the number of operations. The following lines contain the description of the operations. The description of each operation is as follows: 1 l r v: assign value v to all elements on the segment from l to r−1 (0≤l<r≤n, 0≤v≤109). 2 l r: find the sum on the segment from l to r−1 (0≤l<r≤n).

Output

For each operation of the second type, print the corresponding value.

Full text and comments »

  • Vote: I like it
  • -35
  • Vote: I do not like it

By StellarSpecter, history, 6 months ago, In English

There is an array of n elements, initially filled with zeros. You need to write a data structure that processes two types of queries:

add v to the segment from l to r-1, find the sum on the segment from l to r−1.

Input The first line contains two numbers n and m (1≤n,m≤100000), the size of the array and the number of operations. The following lines contain the description of the operations. The description of each operation is as follows:

1 l r v: add v to the segment from l to r−1 (0≤l<r≤n, 0≤v≤105). 2 l r: find the sum on the segment from l to r−1 (0≤l<r≤n).

Output For each operation of the second type, print the corresponding value.

My Code:

#include<bits/stdc++.h>
using namespace std;
using ll = long long;
const int MOD=1e9+7;

const int N = 1e5;
ll seg_tree[4*N];
ll lazy[4*N];

void push(int l, int r, int node){
    if(l!=r&&lazy[node]!=0){
        int m = l + (r-l)/2;
        seg_tree[2*node]+=(m-l+1)*lazy[node];
        seg_tree[2*node+1]+=(r-m)*lazy[node];
        lazy[2*node+1]+=lazy[node];
        lazy[2*node]+=lazy[node];
        lazy[node]=0;
    }
}

void update(int l, int r, int i, int j, int val, int node){
    if(i>r||j<l) return;                    // OR l>r
    if(i<=l&&j>=r){
        seg_tree[node]+=(r-l+1)*val;
        lazy[node]+=val;
        return;
    }
    push(l,r,node);
    int m = (l+r)/2;
    update(l,m,i,min(j,m),val,2*node); update(m+1,r,max(i,m+1),j,val,2*node+1);
    seg_tree[node]=seg_tree[2*node]+seg_tree[2*node+1];
}

ll query(int l, int r, int i, int j, int node){
    if(i>r||j<l) return 0;
    if(l>=i&&r<=j){             // OR if(l>=i&&r<=j) returns seg_tree[node];    -> both are correct.
        return seg_tree[node];
    }
    push(l,r,node);
    int m = (l+r)/2;
    return query(l,m,i,min(j,m),2*node) + query(m+1,r,max(i,m+1),j,2*node+1);
}

int main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int n,m; cin>>n>>m;
    while(m--){
        int t; cin>>t;
        if(t==1){
            int i,j,v; cin>>i>>j>>v;
            update(0,n-1,i,j-1,v,1);
        }
        else{
            int i,j; cin>>i>>j;
            cout<<query(0,n-1,i,j-1,1)<<'\n';
        }
    }
}

24 hours and couldn't figure out what's wrong in my code. Can anyone help me decode what's wrong with my solution ? I'm getting wrong answer on test case 61 with '!' symbol.

Full text and comments »

  • Vote: I like it
  • -14
  • Vote: I do not like it

By StellarSpecter, history, 6 months ago, In English

I bet it's too hard for you to solve.

Go give it a try:

SMASH ME

Full text and comments »

  • Vote: I like it
  • -18
  • Vote: I do not like it

By StellarSpecter, history, 6 months ago, In English

If you can give some tips/advice it would be really helpful.

I suck at problem solving and i get tired of solving the same problem over and over again and in the end i quit.

thanks in advance for the tips.

Full text and comments »

  • Vote: I like it
  • -5
  • Vote: I do not like it

By StellarSpecter, history, 6 months ago, In English

How is it possible?

Everyone's rating change has been made but my rating is still the same and it shows not even +0 in the contest rating change page.

Full text and comments »

  • Vote: I like it
  • -23
  • Vote: I do not like it

By StellarSpecter, history, 7 months ago, In English

Even after trying so hard in today's Div.4 I couldn't solve a single good problem.

Conclusion: I'm the problem.

Goodbye Cf, it's not for retards like me.

Full text and comments »

  • Vote: I like it
  • -24
  • Vote: I do not like it