摘要:
/*题意:中文题,忽略题解:DFS;因为k#include using namespace std;int n,k,ans;int vis_cl[10];//记录列是否已存在点char m[10][10];void dfs(int r, int sum)//DFS,r为当前行,sum为当前搜索到的点... 阅读全文
摘要:
/*题意:给出一个n*n的和一个m*m的0 1矩阵,求m是否为n的子矩阵题解:暴力搜索剪枝看到这道题,没什么思路,能想到的只能有暴力剪枝,然后就是如何剪枝优化速度:首先是看到矩阵就会容易联想到通过求和来剪枝,因为求和可以在输入的过程中同时进行,因此不会浪费时间,然后对求出的和进行比较,在n维矩阵中找... 阅读全文
摘要:
/*题意:给出一个公式F(x),每给出一个y,求出F(x)的最小值题解:二分查找首先对F(x)求导,则当F'(x)=0时F(x)取最小值,因此求出F'(x)=0时的x,然后代入求结果即可注意精度*/#include bool bingo(double left, double right){ ... 阅读全文
摘要:
/*题意:给出一个等式,和y的值,x为0~100之间的值,求出x(精确到4位小数)题解:二分查找对x进行暴力搜索注意:精度的大小要注意,否则会超时*/#include bool bingo(double left, double right){ if (left > right) ... 阅读全文
摘要:
/*题意:给出一堆小木棍,将这些木棍拼接成长度相等的若干条木棍,问可以拼接出来的最短的长度。题解:DFS+剪枝*/#include #include #include using namespace std;int s[70];int a,n,sum;bool f[70];bool cmp(int ... 阅读全文
摘要:
/*题意:一个棋盘有的点可以走,有的点不能走,求从起点到终点最少要多少步,假如无法走到则输出-1.思路:普通的暴力BFS,由于图是10^9*10^9,所以要用到map来记录图。*/#include #include #include using namespace std;int main(void... 阅读全文
摘要:
/*题意:给出N台电脑的位置,找出某个点到N个电脑的距离之和最小题解:费马点+模拟退火(模板题)模板题用模拟退火求费马点*/#include #include using namespace std;struct point{ double x,y;}p[105];int dir[8][2] ... 阅读全文
摘要:
/*题意:一个矩形,给出n个纸板分割成多个四边形,每个纸板只与上下边相连,再给出m个点,这些点只会在矩形边界上或者矩形内,不会在纸板上,求n个纸板分割出的n+1个四边形分别包含多少个点。题解:二分+叉积;用叉积求出该点位于某个线段的左边还是右边,然后用二分求出该点在哪两条相邻边之间。注意:输出格式要... 阅读全文
摘要:
/*题意:一个正方形房间中,有若干堵墙,墙垂直于x轴且占满y轴方向,每堵墙都有两扇门可通过;给出门的坐标,求从房间左边中点到房间右边中点的最短距离。(大概题意,有很多误差,需参照原文理解)题解:线段相交+dijstra从一堵墙到另一堵墙的最短距离必定是走直线,如果不能走直线,则其最短路径必定是经过门... 阅读全文
摘要:
题意:在网格上给出一个机器人监控的行走路线,开始是从(0,0)出发,每一次在前一步的基础上向右走dx步,向上走dy步,最终走回起点,求路线形成的多边形的边上、内部的点的个数以及该多边形的面积题解:pick定理(模板题)#include using namespace std;struct point... 阅读全文