![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
重要的
_pkm_
love coding
展开
-
HIHO #1312 : 搜索三·启发式搜索
题目链接A*搜索入门,这个文章讲解的很清晰了,Here hiho里面讲解的也很清楚 经典的八数码问题,在搜索的时候把棋盘当前的状态,看做一个1-9的排列(我把0换成了9),但是要对于每一个排列进行排重, 有一个比较好的方法是 康拓展开,及其逆展开,可以计算一个排列在形成的所有排列中的名次,以及给出一个名次,还原出这个排列。剩下的就是A*搜索 主要是bfs,然后加上剪枝,即F函数 G:表示出起原创 2016-08-30 08:03:53 · 512 阅读 · 2 评论 -
Codeforces Round #368 (Div. 2)(D. Persistent Bookcase 离线 转化DAG)
题目链接给出n*m的书架,4种操作 1,x,y,如果(x,y)空,该位置则放一本书 2,x,y,如果(x,y)不空,该位置拿走一本书 3,x, 把这一层有书的拿出,没书的放上书,即反转 4,x, 返回到第x操作后的书架的状态初始书架是空的,要注意一点的是,题目可能在没书的地方拿书,有书的地方放书,明显这样的操作是不成功的,没影响的,所以要标记一下。麻烦的是第4操作,无法记录每次操作的原创 2016-08-21 11:09:46 · 321 阅读 · 0 评论 -
HDU 5901 Count primes (区间素数个数)
题目链接 题意:计算区间[1,1e11]中的素数的个数 题解上给出了一些相关的知识 1,icpc 2, cf ,F. Four Divisors 3,cf,题解是一道论文题目了,拿来当做模板好了本题目: 模板1O(n(3/4))#include <bits/stdc++.h>#define ll long longusing namespace std;ll f[340000],原创 2016-09-21 09:15:30 · 802 阅读 · 1 评论 -
POJ 2449 Remmarguts' Date (A* 第k短路)
题目链接给出n个点,m条边的有向图,问s到t的第k短路长度。使用A*进行计算,每次不判重,把每一个点的相邻的所有状态加入到扩展集合中,判断t出队的次数为k就是k短路。 这里的 A *的H函数我们用单源最短路径计算从t到每个点的最短距离,因为是有向图计算的时候把图反向一下。注意:当s==t的时候,k需要加以1。//#include<bits/stdc++.h>#include<iostream>#原创 2016-08-31 09:51:59 · 290 阅读 · 0 评论 -
HDU 1043 Eight poj 1077 (八数码 启发式搜索)
题目链接 poj1077 hdu1043使用A*搜索就可以了 A*是bfs的一种优化,使用函数F做为每个节点的访问的优先级hdu的需要先判断是否有解,否则会tle,加上后跑了1000+ms poj的不用判断,也可以ac,跑了40+ms一个状态表示成一维的形式,求出除0之外所有数字的逆序数之和,也就是每个数字前面比它大的数字的个数的和,称为这个状态的逆序。 若两个状态的逆序奇偶性 相同,则可原创 2016-08-30 13:11:02 · 462 阅读 · 0 评论 -
HIHO #1196 : 高斯消元·二(异或方程组)
题目链接用高斯消元解异或方程组是一个经典的使用。本体是经典的开关问题,我们把每一个位置的开关状态用01表示, 然后可以列出30个方程,30个未知数,未知数表示开关状态,系数表示每个位置的开关的能够影响到的开关,题目给出的状态作为方程式的右边b向量,(Ax = b),然后直接高斯消元解#include<bits/stdc++.h>using namespace std;#define cl(a,原创 2016-08-26 17:12:38 · 521 阅读 · 0 评论 -
#1195 : 高斯消元·一(模板题)
题目链接高斯消元,使用列主元的方法即可。 如果使用浮点数计算的话,要注意精度问题,还有一个题目的讲解有个小问题,我的提问#include<bits/stdc++.h>using namespace std;#define cl(a,b) memset(a,b,sizeof(a))#define fastIO ios::sync_with_stdio(false);cin.tie(0);#d原创 2016-08-25 20:49:10 · 462 阅读 · 0 评论