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

Автор atcoder_official, история, 12 дней назад, По-английски

We will hold AtCoder Beginner Contest 358.

We are looking forward to your participation!

  • Проголосовать: нравится
  • +67
  • Проголосовать: не нравится

»
12 дней назад, # |
  Проголосовать: нравится +4 Проголосовать: не нравится

exited

»
11 дней назад, # |
  Проголосовать: нравится +37 Проголосовать: не нравится

Only 550 pts G!

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

Hi, i am new to competitive programming and new to AtCoder. I am curious about the rating score of ABC questions, what are their equivalent codeforces rating scores? Is their a formula that can do the conversion? Thx

»
11 дней назад, # |
  Проголосовать: нравится +26 Проголосовать: не нравится

I refuse to write solution for F even if i'm getting paid.

  • »
    »
    11 дней назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Exactly. I had solution after 1 minute of thinking but just implementing it seemed messy so I gave up on it.

    • »
      »
      »
      11 дней назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      that's not even the main thing , thing is output format could have been better , they just could have asked to output pair of cells which have wall between them

      • »
        »
        »
        »
        11 дней назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        Yeah that's why I said implementing seemed messy. Format is weird. I didn't want to generate sequences of characters.

»
11 дней назад, # |
Rev. 10   Проголосовать: нравится +4 Проголосовать: не нравится

What the fuck is the output format of problem F ???

What's the meaning of and the connected component containing the vertices (1,M) and (N,M) consists only of this path. ???

just for harder implementation ???

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

26 correct 2 WA on C any idea submission

  • »
    »
    11 дней назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Just go through every possibility $$$O(2^N)$$$

  • »
    »
    11 дней назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

    your way of computing minima is not correct

    ex- 001 ,010,110

    you only need shop 1 and 3 to fill the mask but your approach is greedy picking which is wrong and you will end up taking 1,2,3

    hint-use bitmask

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

any idea for g?

  • »
    »
    11 дней назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    you only stay in only one cell

  • »
    »
    11 дней назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    You try to go to a certain point on a board then just spam staying in that point.

    Because of that, you can try to dp here, like dp[u][T] is the maximum value you will receive when you use T turns to go from start to u (all points here are converted into 1-D coordination).

  • »
    »
    11 дней назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится

    f i x,y means when Takahashi goes i steps and stops at (x,y), how many fun value can he get.

    Takahashi may walk for some steps and stopped at a position forever.

    It's easy to solve f i x,y when i<=n*m. And it's can be proved that Takahashi may walk at most n*m times, so the answer is MAX (f i x,y + a x,y * (K-i))

»
11 дней назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится
  • »
    »
    11 дней назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    It's the same mistake that I did, and wasn't patient enough to even debug it after the contest so went through the editorial and just noticed that the dp table is going to have 3 states and I got what I was doing wrong, hope it provides you a hint :9

    • »
      »
      »
      11 дней назад, # ^ |
        Проголосовать: нравится +3 Проголосовать: не нравится

      yo same case , I also wasn't patient enough to debug and watched the editorial and yeah missed the crucial no of turns state

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

    Shortest path to reach final cell is not enough.
    Consider this testcase -

    Spoiler
    • »
      »
      »
      4 дня назад, # ^ |
      Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится

      but A[i][j] > 0 (never mind)

    • »
      »
      »
      4 дня назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Thanks a lot!

      This is somewhat that is in testcase9

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

how E?

»
11 дней назад, # |
  Проголосовать: нравится +23 Проголосовать: не нравится

Problem F is frustrating. I accept the other six problems quickly with no penalty, but I had wrong F for 5 times.

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

[deleted]

»
11 дней назад, # |
  Проголосовать: нравится +4 Проголосовать: не нравится

Why does the C++ solution in the problem E's editorial unavailable?

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

I think, I solved problem like today's F not long time ago, but don't remember, where. Anyone remember?

Also, what happened with problem G? I've never seen anything such simple on this position.

»
11 дней назад, # |
  Проголосовать: нравится +7 Проголосовать: не нравится

Anyone could hack my F please? I have been testing on it for about 1 hour but I don't know why it gets WA*3.

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int maxn=100+10;
int n,m,k,a[maxn]; 
void solve(){
	cin>>n>>m>>k;
	if(k<n||(k&1)!=(n&1)) return cout<<"No"<<endl,void();
	int now=n;
	for(int i=1;i*2<=n;i++){
		if((k-now)/2<=m-1){
			a[i]=(k-now)/2;
			now=k;
			break;
		}
		a[i]=m-1,now+=m*2-2;
	}
//	for(int i=1;i*2<=n;i++) cout<<a[i]<<endl;
	if(now!=k) return cout<<"No"<<endl,void();
	int N=n*2+1,M=m*2+1;
	cout<<"Yes"<<endl;
	for(int i=1;i<=N;i++){
		if(i==1){
			for(int j=1;j<=M;j++) cout<<(j==M-1?'S':'+');
		}
		else if(i==N){
			for(int j=1;j<=M;j++) cout<<(j==M-1?'G':'+');
		}
		else if(i%2==0){
			for(int j=1;j<=M;j++){
				if(j==M||j==1) cout<<"+";
				else if(j%2==0) cout<<"o";
				else cout<<(m-j/2>a[(i-2)/4+1]?'|':'.');
			}
		}
		else{
			if((i/2)&1){
				for(int j=1;j<=M;j++){
					if(j&1) cout<<"+";
					else cout<<(m-j/2+1<=a[(i-2)/4+1]?'-':'.');
				}
			}
			else{
				for(int j=1;j<=M;j++){
					if(j&1) cout<<"+";
					else cout<<(j/2==m?'.':'-');
				}
			}
		}
		cout<<endl;
	}
}
signed main(){
	ios::sync_with_stdio(false);
	cin.tie(0),cout.tie(0);
	int t=1;
//	cin>>t;
	while(t--) solve();
	return 0;
}

  • »
    »
    11 дней назад, # ^ |
      Проголосовать: нравится +28 Проголосовать: не нравится

    Your code fails when $$$n=3,m=5,k=13$$$. I am extremely sorry that you were disgusted by the authors!

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

      output:

      Yes
      +++++++++S+
      +o.o.o.o.o+
      +.+-+-+-+-+
      +o|o.o|o|o+
      +.+.+.+-+-+
      +o.o|o.o.o+
      +++++++++G+
      
    • »
      »
      »
      11 дней назад, # ^ |
        Проголосовать: нравится +29 Проголосовать: не нравится

      Thank you. I didn't notice that I can turn to the other side. And to be honest, I'm not disgusted XD anyway thanks a lot.

  • »
    »
    11 дней назад, # ^ |
      Проголосовать: нравится +30 Проголосовать: не нравится

    3 5 13 Yes +++++++++S+ +o.o.o.o.o+ +.+-+-+-+-+ +o|o.o.o.o+ +.+.+-+-+.+ +o.o|o|o|o+ +++++++++G+

    It seems that you filled the path in maze one row by one row, however, when n is odd, you can also fill the last row but your code did not.

    I also WA 3 for 5 times because of it, and it made me angry. However, after coming up with this situation, I accepted at once.

    I have a friend who is rank 45, he didn't passed the following testcase but also accepted F in 67 minutes.

    It is unfair, isn't it?

    3 3 9 Yes +++++S+ +o.o.o+ +.+-+-+ +o|o.o+ +.+.+.+ +o.o|o+ +++++G+

    • »
      »
      »
      11 дней назад, # ^ |
        Проголосовать: нравится +23 Проголосовать: не нравится

      You know that, I could pass the hack easily but I always got 1 RE.

      Luck is always unpredictable

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

https://atcoder.jp/contests/abc358/submissions/54597481

Could someone please tell why my D fails ???

  • »
    »
    11 дней назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится

    don't use it only stores unique element

    let say a= 2,2,2,4,4,4

    and b= 2,2

    your approach will result in 2+4=6

    but optimal one is 2+2=4

  • »
    »
    11 дней назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Use Multiset because element may repeat

»
11 дней назад, # |
  Проголосовать: нравится +15 Проголосовать: не нравится

Can someone say why my Problem D is TLE Submission

»
11 дней назад, # |
  Проголосовать: нравится +7 Проголосовать: не нравится

Can someone please debug my Problem G(18xAC,18xRE)Submission

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

In problem F, O(n^2) is enough guys; all you have to do is do very little HOLY CASEWORK!!!

»
11 дней назад, # |
  Проголосовать: нравится +15 Проголосовать: не нравится

Do they make AI more difficult to understand the statement by modifying important information in Problem F many times?

  • »
    »
    11 дней назад, # ^ |
      Проголосовать: нравится +10 Проголосовать: не нравится

    That's right!

  • »
    »
    11 дней назад, # ^ |
      Проголосовать: нравится +14 Проголосовать: не нравится

    I don't think so. I had never seen the input format or the output format when I was trying to solve Problem F because it's too long, but I still understand what the problem want me to do. I think AI is smart, and it may easily understand what did the problem mean. If AI can solve Problem F with correct information, it can also accept Problem F with wrong format.

    ABC is for more than ten thousand people. If the question surface is wrong, it will make many people feel confusion. So I think it's no need to modifying importand information in order to make AI more difficult to understand Problem F.

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

E was such a good problem.

  • »
    »
    11 дней назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    How to do it ?

    • »
      »
      »
      11 дней назад, # ^ |
      Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится

      It's DP+Combinatorics.

      If you have n items, among which m are unique with quantities(q1, q2, q3... qm), the number of distinct ways to arrange these items is:

      n!/(q1!*q2!...qm!) - (1)
      

      Now for DP, there are two states [i,len] (i denotes the alphabet we're currently at and len denotes the length of our sequence so far).

      Now, at each step, we attempt to take as many elements of that alphabet as possible. Therefore, the recurrence relation is:

      dp[i][len]=sum(dp[i+1][len-j]*mod_inverse(j)) for j= 0 to min(c[i],len)
      

      and base case is

      dp[26][0]=1
      

      For each state, by using mod_inverse at each step of calculation we've got denominator of eqn (1), to get the whole expression multiply it by len!.

      Summation of dp[0][len] is your answer for len=1 to k.

      Here's a link to my submission.

  • »
    »
    11 дней назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    yep it's good

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

G is a nice follow up to the recent Atcoder problem : ABC344F : Earn to Advance. I also have a blog, hints and practice contest for the concepts used in the first problem.

  • »
    »
    11 дней назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    your articles are good.

  • »
    »
    9 дней назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    I dont see any relation between G and Time travel technique, can you help me to elaborate more?

    • »
      »
      »
      9 дней назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      It makes the observation trivial that there will only be one cell where you stay multiple cells. And this cell would be retrospectively fixed as the maximum valued cell that you encountered in your journey. Just like we did in ABC344F: Earn to Advance.

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

Can anyone tell me why am I having a TLE XD My code

  • »
    »
    11 дней назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    OK. I'm turning to C++.Same code in python and C++ led to 2209ms and 64ms.Almost got me crazy trying to optimize further in python :(

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

F is surprisingly neat if figure out the pattern, very fun to upsolve.

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

I don't like how I can go from TLE to a relatively fast AC in E simply by precomputing nck values.

  • »
    »
    11 дней назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    you don't need NCK values , you just have to calculate factorials and mod inverse of it

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

OMG i don't know why i did not try to solve G, got stuck in F, when i read G i thought some matrix exponentiation stuff so i left it. i should have tried G

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

Can problem G be solved using Dijkstra's Algorithm?

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

The G is pretty simple than usual rounds:D

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

you should swap between c and d

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

When would the official editorial of the round be released on the website?

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

I think G is easier than E.

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

ok

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

Who has stronger data to help me hack my code for F question please?I have tried all the known strong data.submission

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

Found a test that fails the fastest solution for task G.

1 9 34

1 4

80 28 4 98 84 2 67 57 100

The optimal solution is to take 98 * 34 = 3332, but merhorn's solution outputs 3330