- 博客(6)
- 收藏
- 关注
原创 爬山算法与模拟退火
以一道ai引论的课程作业为例: 翻译过来就是:找一个多边形的费马点(到多边形每个角距离之和最小的点) 一、爬山算法 //by szj #include <iostream> #include <cstdio> #include <cstdlib> #include <cmath> #include <cstring> #include...
2021-04-05 21:47:46
218
原创 codevs 2928 你缺什么
读完题后基本就能确定深度优先搜索了。。 剩下的细节自己填补即可。 #include #include #include #include #include #include using namespace std; int N; int ans[10000+2],x[10000+2]; bool flag[10000+2]; void DFS(int n){ if(n>N){
2017-07-21 12:48:33
220
原创 codevs 1102 采药
典型的“01背包”。 #include #include #include #include #include #include using namespace std; int N,M,t,v; int f[1000+2]; int main(){ scanf("%d %d",&N,&M); for(int i=1;i<=M;++i){ scanf("%d %d
2017-07-21 12:44:34
261
原创 codevs 2925 整除问题
这次是整除问题。 刚读完题时,相信很多人会和我一样,脑中闪现的词语一定是——“搜索”。确实,所谓“搜索是万能的”,本题用搜索确实可以做,但“搜索也是万万不能的”,当你提交后,一个残酷的事实摆在了你面前——超时!此时的你一定欲哭无泪。既然搜索超时,就要转变方法。经过仔细考虑,另一种方法估计已经在你脑中成型了——DP(Dynamic Programming),没错,动态规划。 对于这个题你需要将两
2017-06-30 20:30:46
373
原创 codevs 1215 迷宫
这次我们来说说迷宫这个题目。 对于迷宫这个题目来说,是一个将二维与搜索结合的一个典型题目,这里我展示一下深度优先搜索。 在棋盘中上下左右对应的行列坐标的变化。 const int dr[]={-1,0,1,0}; const int dc[]={0,1,0,-1}; 注意移动过程中的问题,对此我们加一个判定函数check。 bool check(int i,int j){
2017-06-30 20:12:05
388
原创 codevs 3066 中缀表达式转后缀表达式
这是本人第一次写博客,望着这大片的空白,略微有些不知所措······ 好了言归正传。 这次的中缀转后缀从题目描述中很容易想到要调用栈,那么具体应如何使用呢?下面我们具体分析: 首先要明确运算符号。对于本题来说,“(+-*/)”这六个符号需要分级,“(”最低,其次为“+-”,然后是“*/”,“)”最高。下面利用数组m来进行分级。 m['(']=1; m['+']=m['-']=2;
2017-06-29 18:25:36
291
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人