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

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

We will hold AtCoder Beginner Contest 358.

We are looking forward to your participation!

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

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

exited

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

Only 550 pts G!

»
6 месяцев назад, # |
  Проголосовать: нравится 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

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

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

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

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

    • »
      »
      »
      6 месяцев назад, # ^ |
        Проголосовать: нравится 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

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

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

»
6 месяцев назад, # |
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 ???

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

26 correct 2 WA on C any idea submission

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

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

  • »
    »
    6 месяцев назад, # ^ |
    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

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

any idea for g?

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

    you only stay in only one cell

  • »
    »
    6 месяцев назад, # ^ |
      Проголосовать: нравится 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).

  • »
    »
    6 месяцев назад, # ^ |
      Проголосовать: нравится +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))

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

how E?

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

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

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

[deleted]

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

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

»
6 месяцев назад, # |
  Проголосовать: нравится 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.

»
6 месяцев назад, # |
  Проголосовать: нравится +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;
}

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

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

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

      output:

      Yes
      +++++++++S+
      +o.o.o.o.o+
      +.+-+-+-+-+
      +o|o.o|o|o+
      +.+.+.+-+-+
      +o.o|o.o.o+
      +++++++++G+
      
    • »
      »
      »
      6 месяцев назад, # ^ |
        Проголосовать: нравится +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.

  • »
    »
    6 месяцев назад, # ^ |
      Проголосовать: нравится +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+

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

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

      Luck is always unpredictable

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

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

Could someone please tell why my D fails ???

  • »
    »
    6 месяцев назад, # ^ |
      Проголосовать: нравится +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

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

    Use Multiset because element may repeat

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

Can someone say why my Problem D is TLE Submission

  • »
    »
    6 месяцев назад, # ^ |
      Проголосовать: нравится +18 Проголосовать: не нравится

    You should use ms.lower_bound(b[i])

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

      can you please explain why does it make so much difference?

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

        set:: lowerbound is a binary search for red and black trees, with a complexity of O (log n).

        std:: lower_bound for non randomly accessed containers, it is an iterator sequential search with a complexity of O (n).

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

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

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

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

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

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

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

    That's right!

  • »
    »
    6 месяцев назад, # ^ |
      Проголосовать: нравится +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.

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

E was such a good problem.

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

    How to do it ?

    • »
      »
      »
      6 месяцев назад, # ^ |
      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.

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

    yep it's good

»
6 месяцев назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
»
6 месяцев назад, # |
  Проголосовать: нравится 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.

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

    your articles are good.

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

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

    • »
      »
      »
      6 месяцев назад, # ^ |
        Проголосовать: нравится 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.

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

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

  • »
    »
    6 месяцев назад, # ^ |
      Проголосовать: нравится 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 :(

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

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

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

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

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

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

»
6 месяцев назад, # |
  Проголосовать: нравится 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

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

Can problem G be solved using Dijkstra's Algorithm?

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

The G is pretty simple than usual rounds:D

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

you should swap between c and d

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

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

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

I think G is easier than E.

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

ok

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

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

»
6 месяцев назад, # |
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