CF 578A A Problem about Polyline】的更多相关文章

题意: There is a polyline going through points (0, 0) – (x, x) – (2x, 0) – (3x, x) – (4x, 0) – ... - (2kx, 0) – (2kx + x, x) – .... We know that the polyline passes through the point (a, b). Find minimum positive value x such that it is true or determi…
题意:一个等腰直角三角形一样的周期函数(只有x+轴),经过给定的点(a,b),并且半周期为X,使X尽量大,问X最大为多少? 如果a=b,结果就为b 如果a<b无解. 否则,b/(2*k*x-a)=1或者b/(a-2*k*x)=1;以前者为例,x=(a-b)/(2*k).x越小越好,那么k尽量大,但是K过大,x就会小于b,x小于b就无法穿过(a,b).k要大又不能过大就满足二分的要求,就能二分. 乱码: //#pragma comment(linker,"/STACK:1024000000,…
                                                                       C. A Problem about Polyline                                                                                time limit per test 1 second                                            …
time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard output There is a polyline going through points (0, 0) – (x, x) – (2x, 0) – (3x, x) – (4x, 0) – - - (2kx, 0) – (2kx + x, x) – -. We know that the polyli…
http://codeforces.com/contest/340/problem/C #include <cstdio> #include <cstring> #include <algorithm> #define maxn 100010 #define ll __int64 using namespace std; ll a[maxn]; int n; ll gcd(ll a,ll b) { ?a:gcd(b,a%b); } int main() { scanf(…
CF291E 题意:一棵树,每条边上有一些字符,求目标串出现了多少次 直接求目标串的fail然后一边dfs一边跑kmp 然后就被特殊数据卡到\(O(n^2)\)了... 因为这样kmp复杂度分析的基础就没有了,now指针可能每个孩子都减少n次 所以怒加trie图优化 貌似有人写了倍增+哈希的做法........ #include <iostream> #include <cstdio> #include <cstring> #include <algorithm&…
题目链接:http://codeforces.com/problemset/problem/1096/D 题意: 有一长度为n的字符串,每一字符都有一个权值,要求现在从中取出若干个字符,使得字符串中没有子串hard,(这里的子串在原串中不需要连续).求取出字符的最小权值和. Vasya is preparing a contest, and now he has written a statement for an easy problem. The statement is a string…
解题思路:就是求数 n 对应的二进制数中有多少个 1 #include <iostream> #include<cstdio> using namespace std; int main(){ int n; cin>>n; ; // while(n){//这也是一种好的方法 // n = n&(n-1); // ++ans; // } while(n){ ) ++ans; n>>=; } cout<<ans<<endl; ;…
对每个位置进行操作,求出最终变成相同字母的代价,然后把所有的位上代价加起来,使得总代价最小.res[i][j]表示将字母i+'a'和字母j+'a'变为相同的代价,设最终都变成字母k+'a',那么res[i][j]<?=dp[i][k]+dp[k][j],dp[i][k]表示将字母i+'a'最终变成j+'a'所需的代价,也就是点i到j的最短路径长度,Floyd—Warshall算法可解决. rec[i][j]记录i和j最终变成的字母-'a'. #include<stdio.h> #incl…
E. Colored Balls time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output There are n boxes with colored balls on the table. Colors are numbered from 1 to n. i-th box contains ai balls, all of which…