搜索
文章平均质量分 83
丿Smile灬晨星
这个作者很懒,什么都没留下…
展开
-
hdu4542 搜索+打表
很好的思维题,搜索的剪枝用到极致了,一开始用CF上27E的搜索各种超时,总之做得很不顺,心情也不是很好,幸好找了个朋友二了一下。ACcode:#include#include#include#includeusing namespace std;typedef long long LL;const int ns=49000,top=15;const LL INF=原创 2013-04-01 23:17:46 · 1067 阅读 · 3 评论 -
hdu5468(容斥原理)-2015 ACM/ICPC Asia Regional Shanghai Online
题意:给一颗以1为根的树,以每一个节点为子树,计算该子树的所有节点value与该节点value互质的节点个数。假设第i个节点value为vi:1、由莫比乌斯函数容斥求互质个数,显然需要预处理vi的无平方素数的因子(miu[vi] !=0的因子);ans[i] = sigma( miu[d] * count[d] ),d为vi的无平方素数因子,count[d]为以第i个节点为根的子树中v原创 2015-09-28 11:08:40 · 1352 阅读 · 0 评论 -
POJ 1915 双向广搜
第一题。。。效率赶赶地Accode:#include#include#include#includeusing namespace std;const int NS=330;struct Point{ int x,y; Point(){} Point(int cx,int cy):x(cx),y(cy){}}qu[NS*NS];in原创 2013-11-05 19:03:08 · 679 阅读 · 0 评论 -
hdu4127 IDA*
IDA*第一题。。。 又犯了dfs用全局变量的错误ACcode:#include#include#includeusing namespace std;const int NS=8;int n;int mc[NS][NS],flag[NS];int vis[NS][NS];int dx[]={1,-1,0,0};int dy[]={0,0,1,-1};bo原创 2013-11-06 01:06:10 · 730 阅读 · 0 评论 -
hdu4605 线段树+dfs
dfs树节点,同时用线段树记录左右节点路径。ACcode:#include#include#include#include#include#include#includeusing namespace std;#pragma comment(linker,"/STACK:102400000,102400000")#define lc rt<<1#define r原创 2013-08-01 11:57:35 · 825 阅读 · 0 评论 -
poj 2285 状态压缩~最优方案
很纠结的题目,思路不是自己想出来的,技巧也是借鉴过来的,没想过搜索可以这样剪枝,不过还真学到些技巧。写dfs时用了一个全局变量导致程序异常,恁是调了两小时才揪出来,那是相当的郁闷啊。ACcode:#include#include#include#include#includeusing namespace std;const int W=5;const int MS原创 2013-07-20 16:41:50 · 981 阅读 · 0 评论 -
hdu2298 三分+二分查找
首先推出一个非线性的凸性函数,f(x)=a/cos(x)/cos(x)+b*tan(x)+c (x是弧度);然后利用三分查找函数是否有解;最后如果有节,二分查找左边的解。ACcode:#include#include#includeconst double pi=acos(-1.0);const double eps=1e-12;double a,b,c;d原创 2013-05-04 22:08:29 · 1025 阅读 · 0 评论 -
hdu4474 数位广搜
利用同余的性质,去最小数广搜n的每一个余数。ACcode:#include#include#include#include#includeusing namespace std;queue q;int n,m,p;int use[11],v[11000],pre[11111];void print(int k){ if (k!=-1) {原创 2013-04-24 18:25:28 · 999 阅读 · 0 评论 -
树的重心
看了几天树的重心的题目,也做了几个题,总结一下。首先,定义一下重心,网上还有一种定义,效果一样,纯属个人理解。节点重心的定义是:以这个点为根,那么所有的子树(不算整个树自身)的节点权值大小都不超过整个树大小的一半。边权重心的定义是:以这个点为根,那么所有的子树(不算整个树自身)的边权值大小都不超过整个树大小的一半。树的重心主要解决树中点对之间路径最短的问题。原创 2013-04-13 21:02:28 · 1837 阅读 · 0 评论 -
poj1655 dfs
很简单的题目,找树的邻接点最大值的最小值,遍历一遍就可以了。。。ACcode:#include#includeconst int ns=22222;int n,x,y,top,res,num;int v[ns],head[ns],to[ns<<1],next[ns<<1];void add(int p,int s){ next[top]=head[p];原创 2013-03-21 19:43:33 · 600 阅读 · 0 评论 -
LeetCode Word Ladder II(双向广搜)
Word Ladder II,双向广搜原创 2016-01-13 15:54:51 · 658 阅读 · 0 评论