Общий форумOnly KS can be skipped but not KD KC KH if you have a WA5, it is possible that you also did not read the condition, and instead of a 5000 bill you wrote something else (for example, 2000). Edited by author 29.12.2024 14:51 Looks like Noise function acts like in real world. It is some random variable from normal distribution with zero expected value, and some small variation Edited by author 27.12.2024 03:35 For a positive integer x, we define R(x) as a number equal to the inverted x in decimal notation. For example, R(123) = 321, R(1) = 1, and R(100500) = 5001. For a given number S, calculate the number of integers x such that 1 ≤ x and x+R(x) ≤ S. As an answer, print the remainder of dividing this number by 10^9 + 7. Input data contains an integer S written without leading zeros (0 < S < 10^100000). Test: 1000000 Answer: 505449 The idea: the dynamics of the digits of the number? What other ideas can you suggest? Im using BFS to find shortest way from S to F, BFS to count dists, BFS to count probability on shortest ways. I tried c++ vectors and arrays, both are getting TLe Maybe cause is long double values (three BFS can pass in 1 second). How can I fix it? Maybe Dijkstra on two parameters? O(N*logN) or O(N+max(P))? It seems, the only solution to this problem is recursion with correct "guess" on how to implement it to avoid TL. Consider the fact that for any sequence $G$ with the form of fibonacci, that is: $G_{i+1} = G_i + G_{i-1}$, then $G_i = G_1 \cdot F_i + G_0 \cdot F_{i-1]$. So the problem became to solve two linear equations in integers. Prove it with induction or consider the matrix exponentiation for fibonacci. You should use Python to avoid overflow (long long isn't sufficient, at least for my implementation). Good Luck! "The vertices are listed in the order of traversal" means either in a clockwise or counterclockwise direction. CODE IS HERE; #include "stdio.h" #include "string.h" long a[401][401]; long n,h,t; long i,j,m; int c[500]; int p[500]; long count=0; void bfs(int i) { int k; for(k=1;k<=n;k++) { if(c[k]==0) { if(a[i][k]==1) { a[i][k]=0; a[k][i]=0; c[k]=1; p[k]=i; bfs(k); } } } } void path(int a1,int a2) { int q[500]; int i=0; while(1) { q[i]=a2; i++; a2=p[a2]; if(a2==a1) break; } printf("%d",i+1); printf(" %d",a1); while(i>0) { printf(" %d",q[i-1]); i--; } printf("\n");
}
void main() { for(i=0;i<401;i++) for(j=0;j<401;j++) a[i][j]=0; scanf("%ld %ld",&n,&m); for(i=0;i<m;i++) { scanf("%ld %ld",&h,&t); a[h][t]=1; a[t][h]=1; } for(i=1;i<=n;i++) c[i]=0;
c[1]=1; bfs(1);
for(i=1;i<n;i++) { for(j=i+1;j<=n;j++) if(a[i][j]==1) { count++; } } printf("%ld\n",count); for(i=1;i<n;i++) { for(j=i+1;j<=n;j++) if(a[i][j]==1) { path(i,j); } }
} I have same problem and increased answer's array. got AC Try this 7 8 1 2 2 6 1 6 4 6 4 3 3 5 5 6 3 7 At the moment my way is to look through all the squares of length LEN (using binary search) and to check, whether a hash of a square was met before. It is of O(N*M*log(min{N, M})) complexity. But I get WA#10 again and again. Please, if someone had a problem with this test, share your impressions, 'cause I'm going slightly mad. You have a collisions with hash. (I've got this problem also because second number x was to small and close to first one). Thank you, it really had to do with collisions. Actually, my self-made hashset implementation was fantastically awful. :-) Edited by author 06.07.2012 15:48 Why you have used binary search? How we can say that the sq. matrix 2x2 has less value than 3x3. and 3x3 has less than 4x4. how can we justify? We run a binary search on the length of the square's side. For a fixed length of the square's side, we calculate the hash of all squares with that side length, and look for a pair of squares with the same hash. got WA on 3, why, have any tests? Edited by author 14.03.2024 17:39 Try this: 7 3 6 5 2 6 1 4 4 2 1 1 6 4 1 4 10 2 1 Answer: 1 1 easy max flow Overkill, just dfs is enough) 5 plus 1 plus 1 plus 1 plus 1 plus 1 plus 3 plus 1 plus 1 plus 1 plus 1 plus 1 plus 1 is ... 19!!!!! NINETEEN!!!1111!! FFFFUUUUU~~~~~ Okay, have to read prob statement again. :D You could have used brute force ;) Прошу уточнить. В задании (и тестах) идёт речь о: 1) конечных географических 2D картах. 2) географических картах на сфере. 3) любых абстрактных картах в многомерном \ многосвязном пространстве. 4) другое. Please clarify. The task (and tests) are about: 1) Finite 2D geographical maps. 2) geographical maps on the sphere. 3) favorite abstract maps in a multi-dimensional \ multi-connected space. 4) other. Admins, please look at this issue. I suppose it is mistake (or bug in rating system), that I became 1st place in rating solved same number of tasks as ACRush, but did it only in 2024 year, i.e. later. Suppose that rating must be the same and my place is 2nd. Looks like integer overflow :)) When I resubmitted one single AC solution (for 1394 task) - rating summary has changed again and now I got about 200 points of rating less than 1st place. Edited by author 18.11.2024 22:09 Congrats on solving all the problems! test: 1 10000 0 How do I answer "YES" or "NO"? ooopsss! Zero not allowed! Sorry. Edited by author 29.11.2024 01:34 когда я с длинной арифметикой сделал эту задачу я использовал в качестве основы 10000 и у меня был WA#7 тест потом я сделал снову 10 и у меня был WA#2 тест тогда подумав решил использовать EXTENDED всеравно WA#6 тест кто подскажет как преодолеть 2, 6, 7 тесты Use base = 10 compare small answers with 1009 I compaired it My program gives equal answers in all cases Чёрт его знает Use Java's BigInteger I always use it then long arifmetic is needed. Помоему он подсовывает во 2 тесте N=170 и K=10 Если умножать пллучается 10 с 170 нулями. Никакой тип не выдержит. Надо разбивать число на группы. Только какие? Edited by author 11.06.2008 17:47 174568663359808123517619015636369512622213 064344534689513998708986681415716975079951 752754958954321404709642918328732491072229 658639887075761909680804620151071937764270 946419913401 Edited by author 29.10.2008 11:30 Пока не использовались ostream манипуляторы setfill('0')\setw(9) а использовались только fill('0')\width(9) программа не выводила ведущие нули. AC https://acm.timus.ru/getsubmit.aspx/10809916.cppWA7 https://acm.timus.ru/getsubmit.aspx/10809884.cppЛибо я что-то не понял, либо это ошибка в STL. Надо чтобы админы проверили. P.S. My English is too bad. Понял. Не ошибка STL. Фича. В документации написано (на ангельском языке): Глобально установленная ширина поля имеет право портиться. Edited by author 25.11.2024 04:43 |
|