题意:给定 n 个坐标,问你三个共线的有多少组. 析:这个题真是坑啊,写着 n <= 770,那么一秒时间,三个循环肯定超时啊,我一直不敢写了,换了好几种方法都WA了,也不知道为什么,在比赛时坑我了两个多小时, 最后看到那么多过的,就想试试,真的AC ,三个循环一点没优化,竟然才150多毫秒,....POJ的数据真是水啊. 没什么好说的,只要三个循环,然后判断斜率就好了. 代码如下: #include <cstdio> #include <string> #include &…
题意:给定一串数字,问你这是一个数字开方根得到的前几位,问你是哪个数字.析:如果 x.123... 这个数字的平方是一个整数的话,那必然sqr(x.124) > ceil(sqr(x.123)) [sqr = 求平方, ceil = 向上取整 所以,就可以从小到大枚举它的整数部分 x ,遇到第一个满足结果的 x,就是答案了. 开始时,我从1开始暴力超时了.. 代码如下: #include <cstdio> #include <string> #include <cstd…
油田问题(L - 暴力求解.DFS) Description The GeoSurvComp geologic survey company is responsible for detecting underground oil deposits. GeoSurvComp works with one large rectangular region of land at a time, and creates a grid that divides the land into numerou…
11.12.2018 逆向暴力求解 538.D Weird Chess New Point: 没有读好题 越界的情况无法判断,所以输出任何一种就可以 所以他给你的样例输出完全是误导 输出还搞错了~ 输出的举证中间竟然空格隔开每一个字符,真的是不该错,否则应该是1A吧 然后空间开小了,地图空间倒是注意到了,但是你存取’o’的空间只有1000,而地图大小最大是50*50所以最多是2500个’o’的地址 中间的选择代码逻辑有些混乱 要加强练习! Describe: 定义新的下棋游戏,给你多个棋子’o’…
先来解释一下HMM的向前算法: 前向后向算法是前向算法和后向算法的统称,这两个算法都可以用来求HMM观测序列的概率.我们先来看看前向算法是如何求解这个问题的. 前向算法本质上属于动态规划的算法,也就是我们要通过找到局部状态递推的公式,这样一步步的从子问题的最优解拓展到整个问题的最优解.在这里我们认为随机过程中各个状态St的概率分布,只与它的前一个状态St-1有关,同时任何时刻的观察状态只仅仅依赖于当前时刻的隐藏状态. 在t时刻我们定义观察状态的概率为: αt(i)=P(o1,o2,...ot,i…
jrMz and angle       Time Limit: 2000/1000 MS (Java/Others)  Memory Limit: 65536/65536 K (Java/Others) 问题描述 jrMz有两种角,第一种角都是正nn边形的内角,第二种角都是正mm边形的内角.jrMz想选出其中一些,某种角可以选多个或一个都不选,使得选出的所有角的度数之和恰好为360度.jrMz想知道这是否可能实现. 输入描述 有多组测试数据,第一行一个整数\left(1\leq T\leq10…
Problem Description Avin is studying series. A series is called "wave" if the following conditions are satisfied:1) It contains at least two elements;2) All elements at odd positions are the same;3) All elements at even positions are the same;4)…
str表示文本串,m表示模式串; str[i+j] 和 m[j] 是正在进行匹配的字符; KMP的时间复杂度是O(m+n)  ,  暴力求解的时间复杂度是O(m*n) KMP利用了B[0:j]和A[i:j]是相同的这一点,而暴力求解显然做不到. int kmp(string str,string m) { int next[MAXN]; next[] = -; ; ; while(i<m.size()) { || m[i]==m[j]) { i++; j++; next[i] = j; } el…
Description 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别.要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C. Input 输入含有多组测试数据. 每组数据的第一行是两个正整数,n k,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋盘,以及摆放棋子的数目. n <= 8 , k <= n 当为-1 -1时表示输入结束. 随后的n行描述了棋盘的形状:每行有n个字符,其中 # 表示…
思路: 暴力枚举三个点 判一判 搞定 (x1*y1=x2*y2) x1.y1.x2.y2为他们两两的差 //By SiriusRen #include <cstdio> using namespace std; int n,cnt; struct Point{int x,y;}point[888]; struct ans{int x,y,z;}ans[888]; int main(){ scanf("%d",&n); for(int i=1;i<=n;i++)…