mf
I'm just curious :)
I tried to find this problem in online judges, but found only the "easy" version.
Number of inversions is useful if we are allowed to swap only adjacent elements.
Yeah, you're right. It was a wrong move from the algorithm 2) to algorithm 1) :)
Yeah, that works. And let ...
Search found 51 matches
- Mon May 25, 2009 11:34 am
- Forum: Algorithms
- Topic: Sorting with a minimal number of swaps
- Replies: 3
- Views: 6770
- Sun May 24, 2009 5:40 pm
- Forum: Algorithms
- Topic: Sorting with a minimal number of swaps
- Replies: 3
- Views: 6770
Sorting with a minimal number of swaps
The problem is, given an array A[1..N] of numbers (not necessarily different) output a minimal number of swap operations (you can swap any, not only neighbour, elements) needed to make this array sorted.
If all numbers A were different, then the solution is obvious: 1) count the number of ...
If all numbers A were different, then the solution is obvious: 1) count the number of ...
- Tue Apr 14, 2009 12:03 pm
- Forum: Algorithms
- Topic: Computing n choose k mod p
- Replies: 3
- Views: 8974
Re: Computing n choose k mod p
There is another, more "mechanical", but more general, approach. It can be applied to any formula containing factorials over some modulo.
C_n^k = n! / (k! (n-k)!)
Let's learn how to compute n! mod p, but factorial without factors p and so on:
n!* mod p = 1 * 2 * ... * (p-1) * _1_ * (p+1) * (p+2 ...
C_n^k = n! / (k! (n-k)!)
Let's learn how to compute n! mod p, but factorial without factors p and so on:
n!* mod p = 1 * 2 * ... * (p-1) * _1_ * (p+1) * (p+2 ...
- Mon Apr 13, 2009 10:08 am
- Forum: Algorithms
- Topic: 2-d extension of interval trees?
- Replies: 3
- Views: 2667
Re: 2-d extension of interval trees?
I think, only (logn)^2.
We create interval tree for X coordinates, where each vertex of this tree is an interval tree for Y coordinates.
We create interval tree for X coordinates, where each vertex of this tree is an interval tree for Y coordinates.
- Mon Apr 06, 2009 5:54 pm
- Forum: Algorithms
- Topic: shortest paths network
- Replies: 2
- Views: 2178
Re: shortest paths network
You don't even need in pred[], only distances dist[] from vertex s to the others.
After that, calculate for each vertex dynamics: d[v] is the number of shortest paths to v.
Set d[s] = 1.
For each other vertex d[v] = SUM d[p] over all p such that dist[p] + g[p][v] == dist[v].
After that, calculate for each vertex dynamics: d[v] is the number of shortest paths to v.
Set d[s] = 1.
For each other vertex d[v] = SUM d[p] over all p such that dist[p] + g[p][v] == dist[v].
- Mon Feb 09, 2009 11:03 pm
- Forum: Algorithms
- Topic: Circular String Linearization
- Replies: 12
- Views: 15501
Re: Circular String Linearization
There are lots of approaches to solve this problem.
First of all, hashes. Indeed, we can compute LCP (longest common prefix) of any two suffixes S[i..] and S[j..] of given string (we can do this be binary search in O(log N), N = S.length). After that we can compare lexicographically any two ...
First of all, hashes. Indeed, we can compute LCP (longest common prefix) of any two suffixes S[i..] and S[j..] of given string (we can do this be binary search in O(log N), N = S.length). After that we can compare lexicographically any two ...
- Wed Jan 21, 2009 10:04 am
- Forum: Algorithms
- Topic: hortest path from s to t with which includes all subset
- Replies: 11
- Views: 3540
Re: hortest path from s to t with which includes all subset
do u see any easier easy solution if the K =V.
That means to find a shortest path if the graph must pass through all the nodes of a complete graph .
a kind of shortest hamiltonian path ?
I asked this because the problem can be reduced to a hamiltonian path if
we construct a graph complete G1= (V1 ...
That means to find a shortest path if the graph must pass through all the nodes of a complete graph .
a kind of shortest hamiltonian path ?
I asked this because the problem can be reduced to a hamiltonian path if
we construct a graph complete G1= (V1 ...
- Tue Jan 20, 2009 3:00 pm
- Forum: Algorithms
- Topic: hortest path from s to t with which includes all subset
- Replies: 11
- Views: 3540
Re: hortest path from s to t with which includes all subset
thanks for explanations,math is international. what are the wights for the new graph ?
Weights stay the same. That is, if there is any rib a -> b, than in new graph each rib (a,x) -> (b,y) (of course, if the rib exists) will have the same weight.
well very nice imagination you have.
This idea ...
Weights stay the same. That is, if there is any rib a -> b, than in new graph each rib (a,x) -> (b,y) (of course, if the rib exists) will have the same weight.
well very nice imagination you have.
This idea ...
- Wed Jan 14, 2009 11:28 pm
- Forum: Algorithms
- Topic: hortest path from s to t with which includes all subset
- Replies: 11
- Views: 3540
Re: hortest path from s to t with which includes all subset
Ok.
Let's have a graph
1 -> 2, 2 -> 3, 3 -> 4, 1 -> 3, 2 -> 4
and the only marked vertex is 2.
So the problem is to find a path from 1 to 4 , visiting vertex 2.
Let's build new graph G' (a 'state graph'), in which each vertex is a pair (v,m), here m can take only two values: 0 or 1 (mask of length ...
Let's have a graph
1 -> 2, 2 -> 3, 3 -> 4, 1 -> 3, 2 -> 4
and the only marked vertex is 2.
So the problem is to find a path from 1 to 4 , visiting vertex 2.
Let's build new graph G' (a 'state graph'), in which each vertex is a pair (v,m), here m can take only two values: 0 or 1 (mask of length ...
- Tue Jan 06, 2009 9:25 pm
- Forum: Algorithms
- Topic: hortest path from s to t with which includes all subset
- Replies: 11
- Views: 3540
Re: hortest path from s to t with which includes all subset
I don't think it's a polynomial-solvable problem.
I suggest an O (M 2^K (logN + K)) algorithm (N - number of vertices, M - ribs, K - number of selected vertices). Let's make another graph, with N 2^K vertices, i.e. each vertex is a pair (original_vertex, visited_mask), what means that we stand in a ...
I suggest an O (M 2^K (logN + K)) algorithm (N - number of vertices, M - ribs, K - number of selected vertices). Let's make another graph, with N 2^K vertices, i.e. each vertex is a pair (original_vertex, visited_mask), what means that we stand in a ...
- Mon Jan 05, 2009 9:48 pm
- Forum: Algorithms
- Topic: How many graphs?
- Replies: 4
- Views: 1791
Re: How many graphs?
How could the directed graph be connected? I am not familiar with such a term (for example, is graph 1->2 connected or not? you can't go from 2 to 1)
I know the solution for undirected graphs (connected and without loops and parallel edges), it's described on my site (it's in Russian, but I hope ...
I know the solution for undirected graphs (connected and without loops and parallel edges), it's described on my site (it's in Russian, but I hope ...
- Sat Dec 20, 2008 10:54 pm
- Forum: Algorithms
- Topic: RMQ problem
- Replies: 3
- Views: 2225
Re: RMQ problem
Thanks for your reply.
Few questions , if i give you a mask of +-1 , can you tell me where the minimum is ? Why isn't it ambiguous .
if the maks was 1 -1 -1 , the minimum is at position 2, if maks is 1 -1 1, minimum is at position 1 , but if mask is 1 -1 1 -1 ,minimum is at position 1 and 3 . In ...
Few questions , if i give you a mask of +-1 , can you tell me where the minimum is ? Why isn't it ambiguous .
if the maks was 1 -1 -1 , the minimum is at position 2, if maks is 1 -1 1, minimum is at position 1 , but if mask is 1 -1 1 -1 ,minimum is at position 1 and 3 . In ...
- Sat Dec 20, 2008 1:36 pm
- Forum: Algorithms
- Topic: RMQ problem
- Replies: 3
- Views: 2225
Re: RMQ problem
You misunderstood a bit.
Of course, we find minima in original array, not in +-1 array.
But to find it efficiently, we exploit the fact, that each element a is a[i-1]+-1.
More precisely, we can divide array a[1..N] into blocks of length L=logn/2, and precompute RMQ in each block i between each pair ...
Of course, we find minima in original array, not in +-1 array.
But to find it efficiently, we exploit the fact, that each element a is a[i-1]+-1.
More precisely, we can divide array a[1..N] into blocks of length L=logn/2, and precompute RMQ in each block i between each pair ...
- Wed Nov 05, 2008 9:34 am
- Forum: Algorithms
- Topic: given N circles,how many pairs intersect
- Replies: 2
- Views: 1638
Re: given N circles,how many pairs intersect
It looks like very hard problem.
Even the following problem, which is a simplification of this one, is very hard: there is a set S of N points on plane, and the query is some circle; we should return number of points from S inside the circle. This problem (which is mentioned in Shamos, Preparata ...
Even the following problem, which is a simplification of this one, is very hard: there is a set S of N points on plane, and the query is some circle; we should return number of points from S inside the circle. This problem (which is mentioned in Shamos, Preparata ...
- Thu Sep 25, 2008 10:07 am
- Forum: Algorithms
- Topic: use Bellman ford algo. to find a negative cycle
- Replies: 5
- Views: 4865
Re: use Bellman ford algo. to find a negative cycle
Btw, I've discovered a simpler way to restore the negative cycle after executing the Ford-Bellman.
So, we've got vertex 'firstchanged', and just repeat the following N times: firstchanged = parent[firstchanged].
After that we are surely inside the negative cycle (not in any of its 'tails'), and we ...
So, we've got vertex 'firstchanged', and just repeat the following N times: firstchanged = parent[firstchanged].
After that we are surely inside the negative cycle (not in any of its 'tails'), and we ...