Hello.
Here's a small improvement for posts and comments. Likes can now be specified in their markup. Maybe this will be useful for organizing some kind of polls or collecting feedback.
Here are some examples:
Yes, I know that this feature can be improved. I would prefer that we try to use it a little and understand what exactly is missing the most. Maybe we need to implement the fully functional polls.
Let's do a small survey using the new feature.
What is your age range?
Tabs or spaces?
Have you had covid??
Lately, there have been a lot of meaningless blogs on Codeforces. Is it worth strengthening measures to fight against them?
Please change "you" to "I" in last point : "no definitely, you just don't understand them". Thanks.
Fixed. Do you like the changes?
Can we please have an faq section which is more visible/relevant ?
It's annoying how after every contest there's a comment about java code giving TLE due to Arrays.sort() and unordered map giving TLE.
One feature I'd like to see is wiki section where the many educational blogs written on Codeforces can be seen. Currently whenever I have to see/read about a new topic (example -> segment tree) . I have google segment tree codeforces . This shows all the segment tree related blogs on codeforces which include many useless ones. The blogs would be chosen based on upvotes or any other reliable source.
Also thanks for the features.
So much support for a list/catalog/wiki of tutorial blogs. Only a few days ago I found out that I had missed an interesting blog about convolutions because I happened to not check the blogs during the 24 or so hours this blog was in Recent Actions. It would be awesome if I could just open the list of tutorial blogs and start reading up on the first thing I don't know. Also as someone who sometimes writes educational blogs it's kinda demotivating to see my blog just disappear into the void after it gets buried under "please debug my code", "rule about third-party code is changing", announcements of old rounds and "someone cheated on Telegram".
The only issue is preventing this place from being overrun with spam and low-quality tutorials. My suggestion is to simply allow only masters and above (or whatever rating limit feels appropriate) to add blogs to such a page.
I've been facing these issues myself as well. You need to constantly monitor recent actions for high quality blogs, lest it gets flooded with spam blogs. The main issue seems to be the fact that "blogs" being the only top-level communication unit forces them to perform all sorts of functions, and useful stuff for some purposes is just spam for other purposes.
Adding a page with links to good tutorial blogs would definitely be a good idea (and it would be great if it could be kept persistent with all history rather than just a sliding window like recent actions). Perhaps this can be done as a separate section on the EDU page as well, idk.
Now I can beg for likes without begging for contribution:
I request likes
BTW the widget is displayed as usual text when previewing comments, is that intended?
I don't see internet points increasing, I upvote.
Thanks Mike for this amazing feature!
orz Mike for this astonishing feature!
Forgiving my dark mind, I laughed so hard every time seeing "orz Mike" xD
BIT
Segtree
There's a bit of a bug: when I revert to previous revisions and back to current, the markup doesn't work anymore.
Do you want Favourite Blog Entries to be collapsible?
Seriously?! Almost 1/5th of you prefer spaces over tabs!
I am actually not sure what exactly is asked there. Auto-replacing tabs with spaces is more or less a standard practice, so which of the two is this?
like update works a little weird (when u like smth, the counter jumps on 2-4 likes up)
Could be possible that multiple people may have pressed it concurrently.
Division 3 rounds
Division 2 rounds
Educational Rounds
Division 1+2 rounds
Unrated rounds
i Liked Them all :_:
You can like all options
It is decidedly so.
Signs point to yes.
Better not tell you now.
Outlook not so good.
I like it except that the icon is so similar to the like button Facebook used sometime.
Late editorial after contest:
Fast editorial after contest:
Editorial during contest:
Late editorial after contest:
Fast editorial after contest:
Editorial during contest:
Editorial before contest:
Thanks, Mike. This new feature is so great! However, maybe codeforces will have more strange blogs uses this feature but not related to CP. Trash "Likes" blogs may become more.
When you vote likes in a blog at HOME page and then refresh the page, the vote by you is not rendered :(
However when you open the blog page, the like is shown correctly.
This a bug, or it is intended?
UPD: It seems that this issue has been fixed. Thanks all the developers! :D
Predict how many upvotes this comment will earn:
omk orz
Are you having a great Day
Yes : No :
When I voted Yes, it automatically voted No.
Maybe I am having a great&bad day in the same time.
Yeah because i didnt use widget where both have differnt groups. Dont take it personally :-:
Unlike voting (the one that affects our contribution), these are revertible at least. Also, we can leave a like to our own widget too.
What you prefer most for static RMQ
Segment Tree
Sparse Table
Sqrt decomposition
Binary Indexed Tree
What you know of them?
Segment Tree
Sparse Table
Sqrt decomposition
Binary Indexed Tree
Are you surprised to know that BIT can be used for arbitrary RMQ not only prefix?
Yes
No,I already know that before
I really wonder how to solve it. May you tell me?
Thanks in advance.
http://ioinformatics.org/oi/pdf/v9_2015_39_44.pdf
I already implemented query in logn and update in log^2 n but I didn't implement update in logn successfully until now :(
and the query is 4X times faster than recursive segment tree and as fast as iterative segment tree but I think its easier to implement but there is no use of that when I can't implement the logn update (because I am noob)
if any one can share his implement I will be thankfull :)
I try implementing the RMQ BIT (queries and updates in $$$O(\log N)$$$) though I am not sure if my implementation is fully correct. I have tried it on the following problems and it seems to be working fine.
Your code is not logN update.
You can see that easily as you have two nested loop any of them have logN complexity.
I tried these problems already when I was trying to implement and get AC but wasn't able to persuade my self so I generated alot of random tests and compare BIT code with a recursive segment tree.
And the res is the query operations is so fast around 4X times faster than segment tree but update is so slow as its make 10X time than segment tree there can be two reasons that we didn't see the diffrence in these problems.
Not provided a test with alot of update query.
Provided a test like that but small const factor and a fast query cover that.
But the inner for loop is not reset on every iteration of the outer for loop (the pointer
i
andj
can only go up in the tree), so it should be $$$O(\log N)$$$ right? Similiar to how two pointer is $$$O(N)$$$.Oh I am wrong.
Yes Yes, you are right I miss read the position of j=p-1
I thought it was in the increment part but I notice now that it is in the initialization part.
Thanks for the implementation I will revise it carefully now :")
This is not so surprising if you consider what segments a BIT maintains.
A BIT maintains the solid segments on the right while it is "missing" the dotted segments (that do appear in the segment tree). Notice that the missing segments are exactly the ones you would get if you added another BIT on the reversed array. So it seems intuitive because with two BITs, you at least have the necessary information to answer range minimum queries.
And from this image it's also not hard to derive how to answer the queries. You jump left on the normal BIT and jump right on the reversed BIT until you meet. This visits essentially the same things as an iterative segment tree, so a similar constant is also plausible.
That what I was able to do.
the all problem is update query which my implementation wasn't run corectly so I can only use two get min query on every node two update it with total (logn node)*(logn query for each node) =log^2(n)
I undrestanded the update process corectly but I wasn't able to implement it sadly :(
For minimum query on prefix, is it possible to perform updates using arbitrary values?
Yes, and not only for RMQ on prefix but also for arbitrary RMQ
Could you explain how? From what I've read from cp-algorithms, we can only do the update if the new value is not greater than the current value.
tabs: 1K
spaces: 277
WTF? I can't believe there are so many people in this community who prefer tabs over spaces. It must be the other way around.
A tab could be a different number of columns depending on your environment, but a space is always one column.
A tab could be a different number of columns depending on your environment, but a space is always one column.
Exactly. If someone prefers 4 space and you prefer 2, when they use tab you both can see the code in own preferred way. With space you don't have that option. That may be the reason many people prefers tabs.
What if you're looking at code on someone else's screen?
Maybe there is a little bug: the marks are not visible when I refresh the page. But it works when I click it and removed from liked.
No way to see exact number of likes when it crosses 1K. This might be an issue when number of likes for two options are close and both cross 1K.
QAQ QwQ OvO (>_<)
Use [] in place of ()
Thanks!
[>_<]
Are u able to implement the like : yes Or no
How does this work if you edit your post/comment?
scanf & printf :
cin & cout :
fread & fwrite :
write custom read() function :
exactly one of them tells a lie!
Maybe we can change the '1K' to something like '1.06K'. This way the number of likes will be clearer as 1.99K and 1.01K are probably shown as '1K' now.
btw orz Mike
I see only plain text when I go through previous revisions of comments, and it doesn't get fixed when I go back to the recent revision. Also, the icon is not rendered in comment previews.
What's most important,
When you roll back a revision(click ←) and redo it, you'll find like system failed to be loaded.
BTW in spite of these bugs this is still a great system:)
My choices are messed up, it shows the choices I didn't vote for yesterday.
1.) Like #5 only if it is Thursday
2.) Ignore #1 if you are not currently liking #4
3.) Upvote my comment
4.) If the time in minutes is an odd number, Ignore #6
5.) If you haven't liked an odd number of statements, you must go back and obey enough rules to make your count of obeyed rules a multiple of five.
6.) Ignore #2 if the number of times you have liked #4 and number of upvotes on this comment is a Lucas Number
If you like one you will like all of them.
Use it correctly.
P.S.This is a test. (Upd: It works!
(Original
qwq | qvq
qaq
QwQ QAQ
(New
Solve the following two-sat problem:
No.1 is 0 or No.6 is 1
No.2 is 0 or No.3 is 1
No.2 is 1 or No.4 is 0
No.3 is 1 or No.4 is 1
No.3 is 0 or No.1 is 1
No.1 is 0 or No.2 is 0
No.6 is 0 or No.5 is 0
No.4 is 0 or No.5 is 1
No.1 No.2 No.3 No.4 No.5 No.6
1,3,6
0-based indexing
1-based indexing
Need a dislike button.
wow! amazing feature! loved it
What is your favorite programming language?
Python:
Java:
C++:
JavaScript:
Other:
just trying it out
(likes:1)
[liks:1,Opt1]
Team Game of Thrones:
Team Money Heist: