Menu
  • HOME
  • TAGS

How to sum sequence?

c++,algorithm,math,discrete-mathematics

This is Dirichlet's divisor summatory function D(x). Using the following formula (source) where gives the following O(sqrt(n)) psuedo-code (that happens to be valid Python): def seq_sum(n): sqrtn = int(math.sqrt(n)) return sum(n // k for k in range(1, sqrtn + 1)) * 2 - sqrtn ** 2 Notes: The // operator...

Algorithmic big o order of growth code

algorithm,discrete-mathematics

The loops in fact only go up to the cube root of N. (i^3 < n, etc.) The 3 nested loops of this length, give O(cube root of N, cubed). This O(N) Of note, if you were correct and they each went to one third of N, then cubing this...

High value among some values disturbs the average…How to avoid the effect?

math,statistics,discrete-mathematics,moving-average,usage-statistics

The classical solution to this kind of problem is using the median instead of the average. You can also combine these two ideas: discard a certain amount of values (e.g. the upper and the lower 25%) and compute the mean of the remainder. This is called a truncated mean.

Generating all lexicographical permutations without comparisons of elements

algorithm,permutation,discrete-mathematics,lexicographic

You can do it this way: // n is the number of elements in the given sequence p = all permutations of [0, 1, ..., n - 1] in lexicographical order for permutation in p: for i = 0 ... n - 1 print(s[permutation[i]]) // s is the given sequence...

Algorithm on List and Maximum Product

c++,algorithm,math,data-structures,discrete-mathematics

I don't know about the first statement, but the second statement can be said false by the following argument: Since there are sqrt(n) sequences, with n elements each, the total number of elements in n*sqrt(n). In the worst case, you would need to check every element at least once to...

Count Number of Sequences

algorithm,math,combinations,permutation,discrete-mathematics

Inversions The key to this type of problem (of swapping adjacent elements) is to consider the number of inversions in the permutation after each swap. Two elements a[i] and a[j] form an inversion if a[i] > a[j] and i < j. The number of inversions in a permutation is the...

I can't figure out this sequence - 11110000111000110010

python,algorithm,math,sequence,discrete-mathematics

There are many possible solutions to this problem. Here's a reusable solution that simply decrements from 4 to 1 and adds the expected number of 1's and 0's. Loops used : 1 def sequence(n): string = "" for i in range(n): string+='1'*(n-i) string+='0'*(n-i) return string print sequence(4) There's another single-line...

Apparent error in Matlab's perms function

matlab,math,permutation,discrete-mathematics,elementary-functions

Yes, this seems to be a bug. Good catch! But probably a bug in the documentation, rather than in the function. If you type open perms to see the source code, you'll see the following description in the first lines: %PERMS All possible permutations. % PERMS(1:N), or PERMS(V) where V...

Graph coloring upper bound

graph,discrete-mathematics,graph-coloring

in here it is so clear,by the way the sentence is In an optimal coloring there must be at least one of the graph’s m edges between every pair of color classes I'll break it down and make every part more clear. In an optimal coloring : this means that...

How to find the coordinates of a line in HTML5 Canvas

javascript,html5,canvas,geometry,discrete-mathematics

Here's one way: Save all your line segments (walls) in an array. var walls=[]; var wall={x0:50,y0:50,x1:150,y1:150}; walls.push(wall); When you are dragging your window into place, compare the mouse position to the nearest point on every line segment (wall). Place the window on whichever wall is closest to the mouse. This...

F(n) = F(n-1) - F(n-2)

math,sequence,discrete-mathematics,cyclic

Another way to approach this problem. Note that F(n) = F(n - 1) - F(n - 2) is the same as F(n) - F(n - 1) + F(n - 2) = 0 which makes it a linear difference equation. Such equations have fundamental solutions a^n where a is a root...

Combine data into smaller discrete intervals

f#,mapping,intervals,discrete-mathematics

let interval = 10 let index = [6;12;18;24] let value =[101;102;103;104] let intervals = List.map (fun e -> e/interval) index let keys = List.map2(fun e1 e2 -> (e1,e2)) intervals value let skeys = Seq.ofList keys let result = skeys |>Seq.groupBy (fun p -> fst p) |>Seq.map (fun p -> snd...

How to find all strings that do not contain substring palindromes

string,algorithm,probability,combinatorics,discrete-mathematics

Suppose you build up palindrome-free strings one letter at a time. For the first letter, you have M choices, and for the second, you have M-1, since you can't use the first letter. This much is obvious. For every letter after the first two, you can't use the previous letter,...

Placing squares on a Cartesian plane and working out their X,Y coords based on sequence number

math,sequence,discrete-mathematics,cartesian

(On edit: I added a second function which enables the Cartesian coordinate version to be obtained directly.) I got this far before my head exploded. It is closed form in the sense that it gives the coordinates of say the one millionth square without needing to place them one by...

Roster/Timetable generation

discrete-mathematics,solver,simulated-annealing,rostering,tabu-search

If you go with OptaPlanner and don't want to follow the Employee Rostering design of assigning 8 hours Shifts (planning entities) to Employees (planning value), because of your 2th constraint, then you could try to follow the Cheap Time Example design, something like this: @PlanningEntity public class WorkAssignment { Employee...

How to know the lowest value that is not in a group of numbers

java,algorithm,discrete-mathematics

You should decompose your problem. Global algorithm IMO, you should start at n = 0, and go up. For each value of n, check if the sequence of digits needed to represent it is allowed. As soon as you can't, n is your answer. Smaller part The new problem is...

PHP: how to input binary operators + - * / % in a form?

php,user-input,discrete-mathematics

Try this <?php $n = $_POST['c1']; $p = trim(str_replace(' ', '', $_POST['c2'])); // Remove spaces eval("\$result = {$p};"); echo $result; ?> ...

Fastest k nearest neighbor with arbitrary metric?

algorithm,math,discrete-mathematics,nearest-neighbor

I would advice you to go for Locality-sensitive hashing (LSH), which is in trend right now. It reduces the dimensionality of high-dimensional data, but I am not sure if your dimension will go well with that algorithm. See the Wikipedia page for more. You can use your own metric, but...

Prove that (x+1)! is not O(x!) [closed]

algorithm,big-o,discrete-mathematics,proof

Your proof is 100% correct. An alternative one is using limits to infinity. lim_(x->infinity) (x+1)!/x! when x->infinity = lim_(x->infinity) x = infinity The above contradicts (x+1)! for being in O(x!)...

Proving optimality for a new algorithm that finds spanning tree with contradiction

algorithm,graph,graph-theory,discrete-mathematics,minimum-spanning-tree

Yes, the algorithm always finds a spanning tree (if such exist, i.e. the graph has a source). Not sure if it finds a minimal spanning tree though. You have already proven there are no cycles in the resulting graph, so we only need to show connectivity. Proof that the resulting...

What is a good algorithm to check whether or not a number exist in multiple sets without searching them all?

database,algorithm,math,sharding,discrete-mathematics

One data structure suitable for this application is a Bloom filter. A Bloom filter is a probabilistic data structure which allows you test whether an item is already in a set. If the test returning false then the item is definitely not in the set (0% false negatives), if true...

Proving breadth-first traversal on graphs

algorithm,graph-algorithm,discrete-mathematics,proof

Disclaimer: I don't know how much formal you want your proof to be and I'm not familiar with formal proofs. induction on the while loop: Is it true at the beginning? Does it remain true after a step (quite simple path property)? same idea, induction on k (why k+1???): Is...

Planar graph and Finding Triangles

algorithm,math,graph,discrete-mathematics

Let V be the number of vertices, E be the number of edges, F3 be the number of triangles, and F4 be the number of quads. We have equations V = 16 # given 4 V = 2 E # number of vertex-edge incidences 3 F3 + 4 F4 =...