You can use several words in query to find by all of them at the same time. In addition, if you are lucky search understands word forms and some synonyms. It supports search by title and author. Examples:

  • 305 — search for 305, most probably it will find blogs about the Round 305
  • andrew stankevich contests — search for words "andrew", "stankevich" and "contests" at the same time
  • user:mikemirzayanov title:testlib — search containing "testlib" in title by MikeMirzayanov
  • "vk cup" — use quotes to find phrase as is
  • title:educational — search in title

Results

 
 
 
 
1.

generator

Last visit:  8 years ago
Registered:  8 years ago
 
 
 
 
2.
By SecondThread, history, 13 months ago, In English
Algorithms Thread 8: Tree Basics (+ Gym Contest) Algorithms Thread Episode 8: Tree Basics ================== Episode 8 of Algorithms Thread [comes out in <90 minutes!](https://youtu.be/MOy4UDjN8DM) This one is a bit more beginner-friendly and covers the following ideas: - Graph/Tree Diameters - Binary Lifting - Tree Flattening with Euler tours Also, to make sure you have actually learned that stuff, I made a [custom Gym set on CodeForces](https://codeforces.com/gym/102694) that will last two weeks that hopefully is really good practice for making sure you have learned this stuff. Here is a link to the gym set; it will be available 45 minutes after the video comes out so that people have time to watch the video before starting the set, if they are interested in penalty points. All of the problems in the gym are original to this set (in their flavortext at least, some are simple enough that I'm sure they have appeared in other contests before). The new gym integration was heavily inspired by [user:Errichto,2020-08-16]'s ...

Read more »

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

 
 
 
 
3.
By neal, 3 years ago, In English
Don't use rand(): a guide to random number generators in C++ Don't use `rand()`. Why? Let's jump right into some code. What value will the following code print, approximately? ~~~~~ #include <cstdlib> #include <iostream> using namespace std; const int ITERATIONS = 1e7; int main() { double sum = 0; for (int i = 0; i < ITERATIONS; i++) sum += rand() % 1000000; cout << "Average value: " << sum / ITERATIONS << '\n'; } ~~~~~ Should be about 500,000, right? Turns out it depends on the compiler, and on Codeforces it prints 16382, which isn't even close. [Try it out yourself](http://codeforces.com/contest/1025/customtest). ### What's happening here? If you look up [C++ documentation on `rand()`](https://en.cppreference.com/w/cpp/numeric/random/rand), you'll see that it returns "a pseudo-random integral value between `0` and `RAND_MAX`." [Click again on `RAND_MAX`](https://en.cppreference.com/w/cpp/numeric/random/RAND_MAX) and you'll see that "This value is implementation dependent. It's guaranteed that th...
congruential generator ](https://en.wikipedia.org/wiki/Linear_congruential_generator, implemented as a relatively simple [linear congruential generator ](https://en.wikipedia.org/wiki, that the code seeds the random number generator using a high-precision clock. This is important, your provided generator for shuffling.

Read more »

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

 
 
 
 
4.
By MikeMirzayanov, history, 6 years ago, translation, In English
Generators with testlib.h What are generators? -------------------- Generators are helper programs that output test. Most programming task usually has a large input (for example, an array of up to $2 * 10^5$ elements, a tree of up to $10^5$ vertices), so it's not possible to add all the tests manually. In these cases, generators come to the rescue. If you are writing a generator in C++, it is recommended to use the [testlib.h](https://g...content-available-to-author-only...b.com/MikeMirzayanov/testlib) library. Types of generators ------------------- There are two types of generators: 1. **Single-test generator:** output exactly one test in a single run. Usually, to generate several tests, one must run the generator several times with different command line parameters. Such generators output the test to the standard output stream (to the screen). 2. **Multiple-test generator:** output many tests in a single run. Such generators output tests to files (one file for each test). An example singl...
the performance of the generator. - It is better to use `cout` to output `long long`, but if you want `printf, , generators come to the rescue. If you are writing a generator in C++, it is recommended to use, 1. **Single-test generator:** output exactly one test in a single run. Usually, to generate several, An example single-test generator with testlib.h, Below is the code of an undirected tree generator that takes two parameters — the number, How to write a multiple-test generator? ------------------------------------ A multiple-test, If you are writing a generator in C++, it is recommended to use the [testlib.h](https://g...content, On the surface, it seems that testlib.h is not necessary to write a generator. This is not true, The random value generator in testlib.h ensures that the same value is generated regardless, To initialize a testlib generator, the first line of your generator must be of the form, `rnd` is of type `random_t`. That is, you can create your own generator, but this is not necessary, generator will return tests 4, 5, 6, 7, 8, 9, and 10).

Read more »

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

 
 
 
 
5.
By dario2994, 9 months ago, In English
About Problemsetting (for AtCoder and Codeforces) Since the amount of information available about the preparation of a competitive programming contest for AtCoder/Codeforces is very little, I decided to collect here what was my experience. I will try to both describe my experiences and give some general advice to wannabe problemsetters. I hope that this will be useful to future problemsetters who are "out of the loop". Moreover, participants might be curious to know what happens behind the scenes (and maybe the platforms may consider this as a form of constructive feedback). *Acronyms*: - AGC = Atcoder Grand Contest - GR = Codeforces Global Round ### Why I know something about problemsetting? I am in the competitive programming world since ~8 years: I have participated in IOI/ICPC/GCJ and a number of contests on AtCoder/Codeforces (and lately Codechef). I am not a top participant but, being in this world for so long, I know, more or less, all the standard tricks. Recently, I was the author of the *flagship conte...
(if necessary), a validator, and a stupid generator. 3. Write the optimal solution, the solution, writing the generator for the tests, writing the validator for the tests, and, when necessary

Read more »

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

 
 
 
 
6.
By Endagorion, 6 years ago, In English
Codeforces Round #300 (with prizes!) Hello, Codeforces! [On Sunday, April 26th at 19:00 MSK](http://www.timeanddate.com/worldclock/fixedtime.html?day=26&month=4&year=2015&hour=19&min=0&sec=0&p1=166) the 300'th regular Codeforces Round will take place. I would like to congratulate all Codeforces members and administration on this remarkable milestone. The platform has grown hugely in size and quality since its foundation, has hosted lots of exciting competitions, and has been providing the opportunity to everyone to hone their problem solving and algorithmic mastery. For this we thank the Codeforces platform creator [user:MikeMirzayanov,2015-04-24] and all the Codeforces crew. Keep up the incredible job, guys! That being said, I'm excited to announce that the problems on the jubilee three-hundredth Codeforces Round will be set by me, Mikhail Tikhomirov ([user:Endagorion,2015-04-24]). You may remember the past rounds with my problems: [#99](http://codeforces.ru/contests/138,139), [#109](http://codeforces.ru/contest...
for random generator, this integer should be equal to the last submission number that happened during, run in "custom invocation" tab on Codeforces. It uses an integer as a seed for randomgenerator

Read more »

Announcement of Codeforces Round #300
 
 
 
 
  • Vote: I like it
  • +1212
  • Vote: I do not like it

 
 
 
 
7.
By xuanquang1999, history, 2 years ago, In English
Generators with testlib.h What are generators? -------------------- Generators are helper programs that output test. Most programming task usually has a large input (for example, an array of up to $2 * 10^5$ elements, a tree of up to $10^5$ vertices), so it's not possible to add all the tests manually. In these cases, generators come to the rescue. If you are writing a generator in C++, it is recommended to use the [testlib.h](https://github.com/MikeMirzayanov/testlib) library. Types of generators ------------------- There are two types of generators: 1. **Single-test generator:** output exactly one test in a single run. Usually, to generate several tests, one must run the generator several times with different command line parameters. Such generators output the test to the standard output stream (to the screen). 2. **Multiple-test generator:** output many tests in a single run. Such generators output tests to files (one file for each test). An example single-test generator with testlib.h -...
the performance of the generator. - It is better to use `cout` to output `long long`, but if you want `printf, , generators come to the rescue. If you are writing a generator in C++, it is recommended to use, 1. **Single-test generator:** output exactly one test in a single run. Usually, to generate several, An example single-test generator with testlib.h, Below is the code of an undirected tree generator that takes two parameters — the number, How to write a multiple-test generator? ------------------------------------ A multiple-test, If you are writing a generator in C++, it is recommended to use the [testlib.h](https://github.com, On the surface, it seems that testlib.h is not necessary to write a generator. This is not true, The random value generator in testlib.h ensures that the same value is generated regardless, To initialize a testlib generator, the first line of your generator must be of the form, `rnd` is of type `random_t`. That is, you can create your own generator, but this is not necessary, generator will return tests 4, 5, 6, 7, 8, 9, and 10).

Read more »

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

 
 
 
 
8.
By kostka, 2 months ago, In English
Cheater Report in Global Round 15 In the last contest, both [user:tourist,2021-07-26] and [user:ko_osaga,2021-07-26] copied the author's solution from the problem Matrix from Petrozavodsk Winter Camp 2013 Warsaw U contest: [submission:123723552] and [submission:123727448] respectively. You can easily verify that they didn't write this code themselves by looking at the comments in these solutions (written in Polish). This is **against the Codeforces rules**. According to [this post](https://codeforces.com/blog/entry/8790), we have the following rules: > Solutions and test generators can only use source code completely written by you, with the following two exceptions: > > 1. the code was written and published/distributed before the start of the round, > 2. the code is generated using tools that were written and published/distributed before the start of the round. and > Currently, the only reliable proof is the presence of code on the Internet and the presence of the used edition in the cache of well-kn...

Read more »

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

 
 
 
 
9.
By gepardo, history, 3 years ago, In English
ParmPars: a library to pass parameters to generators Hello, Codeforces! If you tried to prepare some competitive programming problems, you might parse parameters like this: ```cpp #include "testlib.h" #include <cstdlib> using namespace std; int main(int argc, char **argv) { registerGen(argc, argv, 1); int n = atoi(argv[1]); int m = atoi(argv[2]); int k = atoi(argv[3]); ... ``` Of course, such way has many disadvantages: * You need to pass the exact amount of parameters, you cannot define default values for them. * If you have many parameters, it's easy to forget the order. * If you pass too few of the them, it will be undefined behavior. So I developed a library called ParmPars to pass parameters to generators in a more convenient way. You can find it on [GitHub](https://github.com/alex65536/parmpars). I hope it will help you to generate tests better. [cut] <br> Using ParmPars, you could rewrite the code above in the following way: ```cpp #include "testlib.h" #include "parmpars.hpp" ...
are named, so to run the generator you can write something like ~~~ gen n=1 m=2 k=3 ~~~ Let's, it to `int` by calling `rnd.next(1, 1000)`. You can also append the generator seed as a last parameter, # More powerful example: generator ranges, In ParmPars, all the parameters are named, so to run the generator you can write something like, Let's write a simple generator for A+B problem using ParmPars:, ~~~ gen n=1 m=2 k=3 ~~~ Let's write a simple generator for A+B problem using ParmPars

Read more »

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

 
 
 
 
10.
By yosupo, history, 16 months ago, In English
New online judge: Library-Checker! Hello, codeforces! Today, I introduce yet another online judge, [Library-Checker](https://judge.yosupo.jp/)! As the name suggests, the object of this site is checking your libraries. The problems are "[Implement RMQ](https://judge.yosupo.jp/problem/staticrmq)", "[Enumerate Primes](https://judge.yosupo.jp/problem/enumerate_primes)", "[Exp of Formal Power Series](https://judge.yosupo.jp/problem/exp_of_formal_power_series)", "[Decompose a graph into three-connected components](https://judge.yosupo.jp/problem/three_edge_connected_components)"... and so on. All problems are managed by me. In other words, I'm the admin of this site. Anything of problems (testcases, solutions, generator, ...) are managed in [github](https://github.com/yosupo06/library-checker-problems). It means, - Anyone can add problems add testcases. Already most of the problems are prepared by other competitive programmers. - Testcases are stronger and stronger with time (ideally). Let's enjoy your l...
, generator, ...) are managed in [github](https://github.com/yosupo06/library-checker-problems). It means, Anything of problems (testcases, solutions, generator, ...) are managed in [github](https

Read more »

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

 
 
 
 
11.
By luosw, history, 14 months ago, In English
CarYon — An OI/ACM Contest Test Case Generator based on C++ # CarYon: An OI/ACM Contest Test Data Generator based on C++ ![img](https://img.shields.io/badge/Avatar-luosw-red.svg) ![img](https://img.shields.io/github/package-json/v/luosiwei-cmd/caryon) ![img](https://img.shields.io/npm/dm/datamaker-caryon) ![img](https://img.shields.io/npm/dt/datamaker-caryon) ![img](https://img.shields.io/npm/l/datamaker-caryon) ![img](https://img.shields.io/npm/v/datamaker-caryon) # Front Have you ever encountered the following problems when holding a self-contained OI match: - Want to quickly produce a paragraph of text? - Want to quickly perform mathematical operations to generate data? - Want to generate test data one by one without using freopen? - Want to generate a set of random data or series? - Quickly generate data to match the two programs? Then, you can use CarYon and C++ to quickly generate data. Previously supported features are: - Randomly generate a chapter, some words, some words - Get out of the limitation of RAND_MA...
CarYon — An OI/ACM Contest Test Case Generator based on C++, # CarYon: An OI/ACM Contest Test Data Generator based on C++, Only the `caryon.h.gch` file produced later can the data generator be used., This is the working principle of the entire data generator., nstall the stable version of this data generator.

Read more »

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

 
 
 
 
12.
By MikeMirzayanov, 21 month(s) ago, translation, In English
Testlib: Opts — parsing command line options Hello! It seems to me that over the past few years I have been writing something right while all normal people are celebrating the New Year. It's my tradition now! Actually, most of the core functionality of Codeforces was written on the New Year holidays of 2010: authorization, blogs, basic support for competitions. Perhaps I want to spend the next year with interest improving something in the Codeforces infrastructure (yep, how you celebrate the New Year &mdash; so you will spend it). Or maybe it's just that it's not necessary to work on New Year's and I'm doing not what you need right now, but what would be nice to do someday. This time I took a little time to add support for parsing command line parameters in <a href="https://github.com/MikeMirzayanov/testlib">testlib</a>. I really don't like to write such lines of code `int n = atoi(argv[3]);` in generators. Actually for several reasons: * it is unsafe that the 3rd command line parameter may be absent; * It is ...
In this case, now you can use the following code snippets in your generator:

Read more »

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

 
 
 
 
13.
By kimiyuki, history, 14 months ago, In English
The template generator for competitive programming Hi Codeforces! Today I would like to intoruce my template generator, [online-judge-tools/template-generator](https://github.com/online-judge-tools/template-generator). This program can analyze problems of competitive programming and generate boilerplate codes including input part, output part, MOD, etc. For example, for a probelm <https://codeforces.com/contest/1300/problem/D>, my command `oj-template https://codeforces.com/contest/1300/problem/D` prints the following source code. All of input part and output part is already written in `main` function, and what you need to write is only the `solve` function. ``` c++ #include <bits/stdc++.h> #define REP(i, n) for (int i = 0; (i) < (int)(n); ++ (i)) #define REP3(i, m, n) for (int i = (m); (i) < (int)(n); ++ (i)) #define REP_R(i, n) for (int i = (int)(n) - 1; (i) >= 0; -- (i)) #define REP3R(i, m, n) for (int i = (int)(n) - 1; (i) >= (int)(m); -- (i)) #define ALL(x) ::std::begin(x), ::std::end(x) using namespace std; co...
The template generator for competitive programming, // generated by online-judge-template-generator v4.4.0 (https://github.com/kmyk/online-judge, Also this can generates generators for random cases. You can combine the generator with my another, Hi Codeforces! Today I would like to intoruce my template generator, [online-judge-tools, Today I would like to intoruce my template generator, [online-judge-tools/template-generator](https

Read more »

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

 
 
 
 
14.
By Arpa, history, 5 years ago, In English
Codeforces Round #383 editorial Hello again, and hope you have been Joon-Joon of the round :P **I’m preparing harder version of some of the problems (Div.2 A, B, and Div.1 A, D) and I’ll put them on some gym, so if you are interested in harder version of problems please wait for about one week.** You can see and download the problem archives (pretests, **tests**, statements, validator, checker, **solutions**) [here](https://mega.nz/#F!GoB1gCjK!fE_6d5qSSiqt_HMxAmV9GQ). You can see solutions in solutions folder, note that there are several codes there, there is a descriptor for each code (.desc) that shows the verdict of that code. Preparation details: -------------------- On 25 May [user:Sa1378,2016-12-06] came up with problem Div.1 D and other problems authored inchmeal. 9/25/16: Proposal sent to Gleb. 11/12/16: Answer from Gleb: Your proposal has been redirected to Nikolay [user:KAN,2017-06-02]. 11/15/16: Nikolay has replied, and commented about problems, saying some problems are easy, s...

Read more »

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

 
 
 
 
15.
By fushar, 6 years ago, In English
Introducing tcframe: A New Test Cases Generator Framework Hello! I have been writing a new test cases generator framework for IOI-style problems for several months. It should be quite stable now, so I would like to share it to you. First of all, let me tell the source of inspiration of this new framework. #### testlib ([https://code.google.com/p/testlib/](https://code.google.com/p/testlib/)) I discovered [user:MikeMirzayanov,2015-03-29]'s testlib library when I prepared Codeforces Round #192 (a.k.a. Trollforces round). It is a nice library (thank you Mike!). I wanted to use it for generating test cases for our national training camps, but it seems that it is not quite suitable for IOI-style problems which have subtasks etc. So, I created a wrapper on top of it. #### tokilib ([https://github.com/fushar/tokilib](https://github.com/fushar/tokilib)) It is a wrapper on top of testlib. I actually wrote about it in a [blog post](http://codeforces.com/blog/entry/11149). It essentially will call testlib's generation many times ...
Introducing tcframe: A New Test Cases Generator Framework, Hello! I have been writing a new test cases generator framework for IOI-style problems, I have been writing a new test cases generator framework for IOI-style problems for several months, Now suppose that we made some mistakes in the generator class: instead of CASE(A = 1000, B = 1000, This is a sample generator program using **tcframe** framework that generates test cases, Using the previous two solutions, we still need to write two files: a generator , and a validator, class Generator : public BaseGenerator { protected: void Config, int main() { Generator gen; return gen.generate(); } ~~~~~

Read more »

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

 
 
 
 
16.
By johnathan79717, 8 years ago, In English
A Codeforces Contest Parser and Sample Tests Generator Many thanks to [user:brunoja,2014-01-19]. He is the main contributor now. Please try it out and give us feedback. You're also welcome to fork the project or join us as a collaborator. https://github.com/johnathan79717/codeforces-parser Codeforces Parser v1.4.1 ================= Summary ------- [Codeforces](http://codeforces.com/) is a website for _competitive programming_. It holds contests, so-called **Codeforces Rounds**, about every week. This is a python program that parses the sample tests from the contest problem pages. For each problem, it generates the sample input/output files and a shell script to run sample tests. You can also find this article here, [http://codeforces.com/blog/entry/10416](http://codeforces.com/blog/entry/10416) ### Example: `./parse.py contest_number (e.g. ./parse.py 464)` Where `464` is the contest number, not the round number! Check the URL of the contest on your browser, that is the number you are supposed to use. ### Effec...
A Codeforces Contest Parser and Sample Tests Generator

Read more »

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

 
 
 
 
17.
By Endagorion, history, 4 years ago, In English
Yandex.Algorithm 2017, third elimination round: editorial (with challenges, bells and whistles) This time I've decided to play with spoilers to faciliate the presentation as some of the guys here did before. Tell me what you think about this write-up! #### Problem A. Shifts Topics: dynamic programming. Summary: the first "hard" problem of the contest. Knowing your basic DP problems helps a lot, but coming up with the precisely correct solution may take a lot of persistence. Solution: Suppose that we are allowed to make left circular shifts as well as right ones. <spoiler summary="Can you solve the problem in this case?"> First of all, making a shift is effectively moving a character to a different position in the string. Clearly, moving a character more than once makes no sense since we could have just moved it to its final destination instead without wasting any operations. Also, it obvious that the number of occurences of each character should be the same in both strings since it is preserved by shifts. Now, consider the characters that are *not* moved by ...
#### Problem C. Recursive Generator

Read more »

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

 
 
 
 
18.
By Erfan.aa, 3 years ago, In English
ACM-ICPC notebook/cheatsheet generator Hello! As you know, each team can have a notebook for their reference in any ACM-ICPC official contest. Actually, this is a rule of regional and World Finals ACM-ICPC contests, that you can bring some papers with yourself. Usually, each team put some source codes of different algorithms in their cheatsheet. Generating this cheatsheet would be a little hard, because you may want to put many source codes in a few pages. Also, you may want to add a table of contents to it. And the most important part is to have syntax highlighting for your codes. I just wanted to introduce you a tool for this purpose. Its name is "codes2pdf" and it's here: [https://github.com/Erfaniaa/codes2pdf](https://github.com/Erfaniaa/codes2pdf) (Actually, it's forked from pin3da/notebook-generator and it has been improved.) Just give your cpp, py, java, and tex files as an input to it; it will generate a PDF file for you. [Sample PDF file](https://github.com/Erfaniaa/codes2pdf/blob/master/sample_not...
ACM-ICPC notebook/cheatsheet generator, (Actually, it's forked from pin3da/notebook-generator and it has been improved.), ](https://github.com/Erfaniaa/codes2pdf) (Actually, it's forked from pin3da/notebook-generator

Read more »

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

 
 
 
 
19.
By Saurav_Paul, history, 15 months ago, In English
Command-line virtual-assistant for competitive programming. It is a terminal-based virtual assistant especially made for competitive programming. It has a lot of features, including running python or c++ file, parsing problem set with test cases and test against all the cases in one click, test with brute force solution, and many more. It will help you to boost your programming skill and help you to do a good performance in the programming contest. It can give voice reply and take your voice command. You can turn off or on these features. Basic settings can be easily changed from config option. For installing write the given commands, > pip3 install wheel and > pip3 install ai-virtual-assistant I recommand after installing checkout the config file. The config can be open by the given command, > jarvis -config ![Welcome Screen](/predownloaded/89/f3/89f33319c633e554ca00348b4a5bc41983f030c3.png) ## Programming Features - [x] [Run c++ or python program] - [x] [Competitive Companion Support] - [x] [parse proble...
## Generate testcase generator automatically, Test case generator can be generated using the given command,

Read more »

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

 
 
 
 
20.
By Fefer_Ivan, 7 years ago, translation, In English
Andrew Stankevich Contests — 46 contests later Good evening, Codeforces. Some time ago I added the last 46th Andrew Stankevich Contest to the Gym. Now all of them are added. Here is a complete [list](/group/j9VlExDLmA/blog/entry/64) and the [group](/group/j9VlExDLmA/contests) with all the contests. Now I want to tell what was done during the process of adding all the contests to the gym. &nbsp;[cut]&nbsp; - In some problems tests and checkers (the program to check if the participant's answer is correct if it is ambigious) are fixed. Errors were found not only by me, but by the members of Codeforces community as well. - In most of the archive tests were generated from scratch. I tried to use the sam compiler versions because some test generator program used built-in pseudorandom number generator and they can produce different numbers in different compilers. - In old contests time limits were adapted to fit on modern computers. For more precise time limit tuning I used not only jury's solutions from the contest arch...
versions because some test generator program used built-in pseudorandom number generator and they can

Read more »

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

 
 
 
 
21.
By MikeMirzayanov, 3 years ago, translation, In English
Testlib and Polygon Updates [July, 2018] Hello, Codeforces. This is a short blog to introduce you recent updates in [Testlib](https://github.com/MikeMirzayanov/testlib) and [Polygon](http://polygon.codeforces.com). # Testlib ### Generate a Permutation Now, you can easily generate a permutation with codes like this: Code | Result -|- `vector<int> p = rnd.perm(n);`| Generates 0-indexed permutation of size $n$ `vector<int> p = rnd.perm(n, 1);`| Generates 1-indexed permutation of size $n$ ### Function `println` Now, you can easily print space-separated lines in a generator. A `println` uses `cout`, thus prefer faster method if you print huge data. Some examples: Code | Result -|- `println(5);` | Print 5 and line break `println(1, 2, 3);` | Print `1 2 3` (three space separated integers) and line break `println("one", "more", 5.5);` | Print `one more 5.5` (three space separated items) and line break `vector<int> a; ...; println(a);` | Print vector $a$ (separate elements with spaces) and line break...
Here is the example of a generator to print a permutation:

Read more »

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

 
 
 
 
22.
By ouuan, history, 2 years ago, In English
The Tree Generator — generate different kinds of trees by simple strings! Want to generate different kinds of trees with simple functions or even a single string? [The Tree Generator](https://github.com/ouuan/Tree-Generator) may be a good choice for you. You can generate a tree by a single string: ```cpp Tree t("ch9,0st10,9"); // a tree consisting of a 10-node chain and a 10-node star at the bottom of it ``` You can add nodes by simple functions: ```cpp t.binary(10, 3); // add a 10-node binary tree with node 3 as its parent ``` You can shuffle the nodes and edges and output the tree: ```cpp t.shuffleNodes(); t.shuffleEdges(); cout << t; ``` You can customize the random function and the output function so that you can use it with testlib.h or print the edges with weights: ```cpp #include "testlib.h" int myRandInt(int l, int r) { return rnd.next(l, r); } randint = myRandInt; void myOutputEdge(ostream& os, int u, int pa) { os << u + 1 << ' ' << pa + 1 << ' ' << randint(1, 10) << endl; } cout << t; ``` W...
The Tree Generator — generate different kinds of trees by simple strings!, Generator](https://github.com/ouuan/Tree-Generator) may be a good choice for you., Why don't you try it? Just visit https://github.com/ouuan/Tree-Generator to clone/copy the codes

Read more »

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

 
 
 
 
23.
By mouse_wireless, history, 3 years ago, In English
Input generators for Custom Invocation? A 256 KB input file for Custom Invocations is many times not enough to cover large tests for problems. The whole point of custom invocation is that it allows contestants to see how their code behaves on the machine used by the judge. Particularly handy when checking for time limits, since you cannot know how fast your code will run on the target machine. With full feedback this isn't really a problem, since you'll just submit your code and get the "time limit" verdict and you'll know you have to optimize your code. But with partial feedback, you can test your code on your local machine, see that it runs in reasonable time, submit it, pass the pretests with plenty of time to spare and get time limit on the main tests. This tends to happen particularly when problems run in ~10^8 steps with strict time bounds. I feel like when this happens, it isn't really the programmer's fault since they cannot know for sure how fast their code will run on the judging machine. This is where Custom...

Read more »

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

 
 
 
 
24.
By McDic, 3 years ago, In English
Is there any wrong thing in this polygon generator? Hello. I am using [Polygon](https://polygon.codeforces.com) to prepare problems. This is my generator below: ``` #include <iostream> #include "testlib.h" long long int max2(long long int a, long long int b){ return a>b ? a : b; } long long int ten(int x){ long long int s=1; for(int i=0; i<x; i++) s *= 10; return s; } int main(int argc, char* argv[]){ registerGen(argc, argv, 1); std::cout << rnd.next(1LL, atoll(argv[1])) << " "; std::cout << rnd.next(1LL, atoll(argv[2])) << " "; std::cout << rnd.next(1LL, atoll(argv[3])) << " "; std::cout << rnd.next(max2(1, atoll(argv[4])/10), max2(100, atoll(argv[4]))) << std::endl; } ``` Is there any wrong thing? It always verdict `FL` in invocation and tests. Thank you for reading this. **EDIT 1** This is the log occurs when I try to generate inputs. ``` ERROR: Unexpected verdict Can't prepare input file 'C:\Contesters\Work\invoker-prod\work\polygon2\34b2efc622c48530be13ce1989b01907\check-bc2d7412c...
Is there any wrong thing in this polygon generator?, This is my generator below:

Read more »

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

 
 
 
 
25.
By mukel, 8 years ago, In English
C++11 for programming contests... Updated: 30 December 2013 3:27 CEST (Added a brief introduction to Lambda Functions). The [new C++ standard](http://en.wikipedia.org/wiki/C++11), also known as C++11 and also as C++0x is here, with some sugars for programming contest. I'll update this thread soon with new contents (and better structure). You can use C++11 on Topcoder, Codeforces, HackerRank ... This thread is based on my own experience, so you don't need to dig on the whole C++11 specification to find some useful feature you can use in programming contests. ### The "auto" keyword: Type inference is included in many modern programming languages, and C++ is not behind, the "auto" keyword works like "var" in C#, it only tells the compiler to infer the type for us: So, ~~~~~ map< string, pair< int, int > > somyLongTypeName = map< string, pair< int, int > >(); ~~~~~ Can be shortened to, with no impact on speed, since the type is inferred at compile time: ~~~~~ auto longTypeNamesAreHistory = map< strin...

Read more »

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

 
 
 
 
26.
By Holmes7, 2 months ago, In English
Random Mashup Generator Hey Guys, I created a random mashup generator which finds codeforces problems that aren't solved by any of the users in a group. It automates the mundane task of finding problems not solved by a particular group of users. You can use this to host mashup contests with your friends or use it for yourself. Here's a link to the website [random mashup generator](https://randommashupgenerator.netlify.app) For any bugs or feature requests feel free to comment down below. If you like the project, consider giving it a star on [Github](https://github.com/Holmes7/Random-Mashup-Generator) Finally, I would like to thank [user:Beas,2021-07-09] for giving me the inspiration to this project.
Random Mashup Generator, -Mashup-Generator), Here's a link to the website [random mashup generator ](https://randommashupgenerator.netlify.app), Hey Guys, I created a random mashup generator which finds codeforces problems that aren't solved, I created a random mashup generator which finds codeforces problems that aren't solved by any

Read more »

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

 
 
 
 
27.
By Mr_No_One, history, 16 months ago, In English
Generator Crashed I am using the following code to generate TC for hacks for question E of round 640 but the hacking verdict is generator crashed. What does it mean and where I am going wrong. Link of the crash log https://imgur.com/alUVkUY ~~~~~ from random import randint as rd print(10) for i in range(10): print(800) for j in range(799): print(rd(700,799),end=' ') print(rd(700,799)) ~~~~~
Generator Crashed, verdict is generator crashed. What does it mean and where I am going wrong.

Read more »

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

 
 
 
 
28.
By cip999, 2 months ago, In English
Editorial of Global Round 15 We hope you liked the problems! Before we go ahead with the editorial, let us make some general comments about this round. Problems A, B, C, D, E, F are "div 2" problems, while problems G, H, I are meant to be solved by Grandmasters. Overall, our goal was to provide a problemset that could be enjoyable for a wide range of participants and such that the winner could solve all the problems. There were three big "jumps" in the difficlty gaps between consecutive problems. Problems A and B are meant to be easy, many contestants have the skills and the techniques to attack them (and, maybe, to solve them). Problems C, D, E, F are gradually harder but the difficulty gap between C and F is not as large as usual (and this is reflected in the score distribution). The same holds for problem G, H, I; the difficulty gap between G and I is relatively small (but there is a big score difference because coding I is much harder). Sadly, we discovered 14 minutes into the round that problem I...
to test the generator, it is essential to write a lot of heuristic/suboptimal/slow solutions and make

Read more »

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