- 博客(5)
- 收藏
- 关注
原创 hdu 3534 树形dp+测试数据
虽然是树形dp水题,但是想记录最大路径数量还是想了一下的。d[i]记录,子节点到i的最大距离g[i]记录,子节点到i的次大距离(d[i]可能等于g[i])d_sum[i]记录,有多少个子节点到i的距离等于d[i]g_sum[i]记录,有多少个子节点到i的距离等于g[i](g[i]==d[i]情况要特殊考虑)最后计算路径数量时,要注意分类讨论:1.g[i]!=d[i]cn...
2018-09-11 16:59:48
199
原创 打着搜索幌子的枚举题poj3279
要点:1.翻2次和翻0次是一样的2.确定了第1行各个点的反转次数后,为了使第一行全部翻成0,所以第二行也可以确定。以此类推,如果最后一行可以全部翻成0,则说明该方案可行。3.通过边2^n种第一排的情况,并保留次数与字典序最小来得到最后结果。4.字典序的问题可以通过string来解决。#include <stdio.h>#include <string>#include &l...
2018-04-24 16:32:28
126
原创 poj2253使用改进版dijstra算法解题
每次确定dist中最小的dist[u]然后对u的邻接点进行处理:1.dist[u]<=edges[u][j])&&(s[j]==0)&&(edges[u][j]<dist[j]2.dist[u]>edges[u][j])&&(s[j]==0)&&(dist[u]<dist[j]#include <stdi...
2018-04-17 18:05:35
129
原创 hdu3790
这道题目要考虑距离与花销的最小,并且优先满足距离最小。所以在给dist[u]添加边时会遇到两种情况1.dist[u]+map1[u][j]<dist[j]很简单,直接记录cost[j],dist[j]就好了2.dist[u]+map[u][j]==dist[j]如果还满足cost[u]+map2[u][j]<cost[j],更新cost[j]的花销#include <stdio....
2018-04-11 11:59:59
319
原创 hdu1181
剪枝都不需要的dfs水题不需要储存每个单词,把首字母与尾字母储存好就行了。可能多组数据输入有点坑代码:#include <stdio.h>#include <string.h>#include <math.h>#include <algorithm>using namespace std;struct word{ char head; char ne...
2018-04-10 21:35:33
263
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人