Блог пользователя Deanamic_Programming

Автор Deanamic_Programming, история, 7 лет назад, По-английски

Hello Codeforces, I've been trying to learn how to run a DP with the convexhull optimization and I have seen this code for a line container (KTH pdf):

struct Line {
	mutable long long k, m, p;
	bool operator<(const Line& o) const {
		return Q ? p < o.p : k < o.k;
	}
};

struct LineContainer : multiset<Line> {..}

So depending in the value of Q the comparator function will do different things, how does multiset cope with this? and how does it affect the complexity of this container?

Thank you very much for the help!

Полный текст и комментарии »

  • Проголосовать: нравится
  • +8
  • Проголосовать: не нравится

Автор Deanamic_Programming, история, 7 лет назад, По-английски

Hello everyone.
On yesterday's contest I implemented a exponentiation function.

long long pow(long long n, long long k) {  
        n %= MOD;  
	if(k == 0) return 1;  
	if(k&1) return (n*(pow(n*n, k/2))%MOD)%MOD;  
	return pow(n*n, k/2) %MOD;  
}  

long long get(long long n) {  
	long long t = (n * pow(2, n-1));  
	t %= MOD;  
	return t;  
}  

Which for some reason it returning a double when the exponent is high enough.
Why could this be?

Полный текст и комментарии »

  • Проголосовать: нравится
  • +6
  • Проголосовать: не нравится