自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(92)
  • 收藏
  • 关注

转载 各种编码问题

Unicode字符集和UTF系列编码Unicode是一个标准,他为每个字符规定了编号。UTF系列编码是对Unicode标准规定的编号进行编码,以便于传输或者存储。16位存不下Unicode所有字符。只是中文都可以直接用UTF-16编码用2字节表示。_UNICODE宏的作用主要是方便程序员维护代码,避免为Unicode和ANSI写两套代码。TCHAR在定义了_UNICOD...

2018-06-03 22:00:00 109

转载 Educational Codeforces Round 41(已补D,E)

D. Pair Of Lines题目大意:给\(n\)个点,问是否存在两条直线(可以为同一条)能覆盖所有的点。解题思路:首先一个或者两个或者三个点都是肯定可以用两条线覆盖的。如果点的个数大于等于三个,那么我们已经可以确定至少一条线的:点1和点2可能在一条线上,点2和点3可能在一条线上,点3和点1可能在一条线上。我们试着确定其中一条线后,去掉在线上的所有点,剩下的点肯定在另一...

2018-04-20 20:27:00 110

转载 uva10069-Distinct Subsequences

题目链接请戳这里解题思路设\(dp[i][j]\)为\(s1[1..i]\)作为\(s2[1..j]\)子串的个数。这样我们可以写出状态转移方程\[dp[i][j]=\begin{cases} dp[i-1][j-1]+dp[i][j-1] & \text{$s1[i]=s2[j]$} \\ dp[i][j-1] & \text{$s1[i]!=s2[j]$}\e...

2016-12-26 20:56:00 110

转载 hdu5115-Dire Wolf

题目链接请戳 这里解题思路设\(dp[i][j]\)表示区间\([i,j]\)的最小伤害。每次决策,枚举最后杀掉的狼,则转移方程为: \[dp[i][j]=min\{dp[i][k-1]+dp[k+1][j]+b[i-1]+a[k]+b[j+1]\}\]其中对\(dp\)数组的初始化:\[dp[i][j]=\begin{cases} b[i-1]+a[i]+b[i+1] &amp...

2016-12-25 00:16:00 86

转载 uva437-The Tower of Babylon

题目链接请戳 这里解题思路带权DAG上的最大权和路。可以先对每个木块的三个维度排序方便后续处理。(思路来自紫书)dp[i][j]表示以第i个木块为底,j=0/1/2时以长/宽/高 为高,时能组成的最高高度。代码#include<stdio.h>#include<string.h>#include<algor...

2016-12-23 23:45:00 78

转载 uva103-Stacking_Boxes

题目链接请戳 这里解题思路DAG上的动态规划。现对n个维度排序(感觉有维度的,先排序排序就行了代码#include<stdio.h>#include<string.h>#include<algorithm>#define N 40using namespace std;bool G[N][N];...

2016-12-22 23:09:00 93

转载 uva10985

题目链接请戳 这里解题思路先用Floyed算出最短路。枚举任意点对,得到最短路上的所有点。去掉连接同一层次点的边就好了。代码#include<stdio.h>#include<string.h>#include<algorithm>#define N 140#define INF 1e9using...

2016-12-15 15:16:00 55

转载 uva10158

题目连接请戳 这里解题思路比较容易想到的思路是开辟另一数组记录每个成员对应的敌人。之后想明白每个团体只和一个团体敌对就行了。代码#include<stdio.h>#include<string.h>#define N 10010int fri[N], ene[N];int n;void make_se...

2016-12-15 15:08:00 84

转载 uva10608-Friends

题目链接请戳 这里解题思路基本的并查集代码#include<stdio.h>#include<string.h>#include<algorithm>#define N 30010#define M 50010using namespace std;int cit[N], gro[N];...

2016-12-09 22:43:00 75

转载 uva10746

题目链接请戳 这里解题思路带权二分图的最优匹配注意精度问题代码#include<stdio.h>#include<string.h>#include<queue>using namespace std;const int maxn = 110;const int maxm = 5010;c...

2016-12-09 13:45:00 95

转载 uva10594

题目链接请戳 这里解题思路用最小费用最大流。注意最后的费用会是long long级别。#include<stdio.h>#include<string.h>#include<queue>using namespace std;const int maxn = 110;const int maxm ...

2016-12-08 23:11:00 89

转载 uva10806

题目链接请戳 这里解题思路可以用最小费用最大流建模。每条道路上的时间为费用,容量为1表示只能一个人通过(因为只对道路做了限值,顶点可以重复通过)另建标号为0的顶点,其到标号为1的顶点容量为2,花费为0。代码#include<stdio.h>#include<string.h>#include<queue>...

2016-12-08 22:57:00 80

转载 uva11045

题目链接请戳 这里解题思路:二分图匹配用求最大流EK算法解决可以把每件衣服都表示成一个节点,每当一个人可以和某种衣服匹配则与这种型号的所有衣服有容量为1的通道。代码#include<stdio.h>#include<string.h>#include<queue>#define N 1200#defi...

2016-12-06 23:40:00 86

转载 uva10330

题目链接请戳 这里解题思路用最大流。需要注意的只有拆点代码#include<stdio.h>#include<string.h>#include<queue>#include<algorithm>#define N 300#define INF 1e9using namespace s...

2016-11-11 17:01:00 73

转载 uva125

题目链接请戳 这里解题思路主要有两点:1.当有中间节点可以经过时,根据乘法原理,i到j的路径数等于i到k路径数乘k到j的路径数。2.只要路径中有经过某个节点是有回路的(即自己到自己),则路径数是无穷的。代码#include<stdio.h>#include<string.h>#include<algorithm...

2016-11-11 15:16:00 81

转载 uva10803

题目链接请戳 这里解题思路直接用floyd就行了。再求最大值。代码#include<stdio.h>#include<math.h>#include<string.h>#include<algorithm>#define N 1040#define INF 1e9using names...

2016-11-11 15:07:00 77

转载 uva104

题目链接请戳 这里解题思路需要知道floyd的动态规划思想.需要注意的是这里无法用滚动数组来压缩空间。因为需要每次和现在情况作比较,而不是仅仅和过去作比较。要保存路径的话,再加个path数组,打印就类似于动态规划的路径打印。代码#include<stdio.h>#include<string.h>#define ...

2016-11-10 19:05:00 67

转载 uva515

题目链接请戳 这里解题思路需要知道差分约束系统代码#include<stdio.h>#include<string.h>#include<algorithm>#define N 110#define M 10010#define INF 1e9using namespace std;int...

2016-11-09 19:43:00 56

转载 uva10986

题目链接请戳 这里解题思路用Dijkstra和SPFA算法解决。这次还是SPFA快,快了10ms代码首先是Dijkstra的#include<stdio.h>#include<string.h>#include<queue>#include<vector>#define M 10001...

2016-11-08 22:50:00 74

转载 uva10801

题目链接请戳 这里解题思路用Dijkstra或者SPFA解决。主要问题是怎么建图和怎么处理换乘。1.建图对于每部电梯,经过的楼层两两都要连接,且有回边。2.判断换乘每条边上记录所用时间和用的哪部电梯。用一个数组choice[]保存每次到达楼层时之前乘坐的电梯,对于楼层0需要特判。其实我觉得这个choice[]数组类似于用于打印最短路径的父指针数组f...

2016-11-08 19:31:00 84

转载 uva10099

题目链接请戳 这里解题思路用floyd。思路和噪声那道很像。区别是初始化有区别吧。因为要max所以初始化要都变为0.还有题意。导游也占了一个位置。然后这次我又没有把回边也初始化了。。。T_T代码#include<stdio.h>#include<string.h>#include<math.h>#...

2016-11-06 19:52:00 73

转载 uva658

题目链接请戳 这里解题思路这道题表面上需要你建图,其实只需在bfs扩展节点时“建立”就好了。用Dijkstra或者SPFA就可求出最短路。如果单纯地使用隐式图搜索,只能得到最少步数,而题目要求出最少时间。可以用位运算来改变某一位,速度比较快。比如要设置第二为为1,可以:x | (1 << 2); 要设置第二位为0,可以:x & ~(1 &lt...

2016-11-05 19:45:00 57

转载 uva10369

题目链接请戳 这里解题思路最小生成树。用Kruskal得到最小生成树。再用贪心,最长的那些边连电缆,剩余的用电报,这样就很容易想到半径是多少。代码#include<stdio.h>#include<string.h>#include<algorithm>#include<math.h>...

2016-11-03 14:16:00 67

转载 uva10397

题目链接请戳 这里解题思路数据好像加强了,,,Kruskal过不了(还是我写搓了?)。。。用Prim吧。把已经存在的边,距离都设为0(反向边也是),这样生成的MST一定会包含这些边。代码#include<stdio.h>#include<string.h>#include<algorithm>#inc...

2016-11-03 14:11:00 80

转载 uva567

题目链接请戳 这里解题思路用Floyd算法代码#include<stdio.h>#include<string.h>#include<algorithm>#define N 25#define INF 1e9;using namespace std;int d[N][N];int n;...

2016-11-03 14:05:00 87

转载 uva558

题目链接请戳 这里解题思路用bellman-ford算法判断,邻接表实现。代码#include<iostream>#include<vector>using namespace std;const int N = 1010;const int INF = 1e9;struct edge { in...

2016-10-31 23:00:00 54

转载 uva10048

题目链接请戳 这里解题思路用类似于floyd算法解决。状态转移方程:dp[i][j] = min(dp[i][j], max(dp[i][k], dp[k][j]))代码#include<iostream>#include<algorithm>using namespace std;const int N = 1...

2016-10-29 19:56:00 83

转载 uva10034

题目链接请戳 这里解题思路克鲁斯卡尔求最小生成树代码#include<iostream>#include<iomanip>#include<algorithm>#include<cmath>using namespace std;const int N = 110;struct...

2016-10-29 19:45:00 74

转载 uva753

题目链接请戳 这里解题思路可以用最大流。建立超级源点与每个设备连接,建立超级汇点与房间里有的插口连接。至于适配器,注意有的接口房间里可能没有,要新建出来。连接直接在接口上连接,不需要再建一个“适配器”顶点,因为这个顶点是可以忽略掉的(不清楚就画个图)。注意适配器连接接口时,其容量为无穷,因为可以搞很多个适配器。其余的容量为1 。还有,udebug上有个数...

2016-10-29 11:37:00 78

转载 uva10137

#include<stdio.h>#include<math.h>const int N = 1010;double pay[N];double total_pay(double ave, int n, double sum){ double now_tot = 0.0; double now_ave; ...

2016-10-28 19:41:00 128

转载 uva10189

解题思路见代码注释///////////////////////////////////UVA 100 - Minesweeper // //DATA 2016/10/27 ////TIME 0ms ////////////////////////...

2016-10-27 22:55:00 72

转载 uva-100

解题思路:从小到大计算数列的长度(到一为止)。注意如果a>b,也要计算。代码///////////////////////////////////UVA 100 - the 3n + 1 problem // //DATA 2016/10/27 ////TIME ...

2016-10-27 14:34:00 43

转载 poj1062-昂贵的聘礼

题目链接 这里解题思路中文题,终于不用翻译了。。。把优惠的物品看成节点,要交的钱看为边权学到一个技巧:把edge[0][]存每个物品的初始价值这样求最短路逻辑就比较畅通了。。。如果你的边是从低阶层指到高阶层,那要枚举最高阶层如果你的边是从高阶层指向底阶层,那要枚举最底阶层要不然你就都枚举好了。。。代码#include<iost...

2016-10-10 22:49:00 85

转载 poj1861-Network

题目链接 http://vjudge.net/problem/POJ-1861解题思路用Kruskal算法可以比较轻松地得到每次连接的边但是我用了1000ms过的。。。(时限1000ms(⊙﹏⊙)b)可能是我写挫了吧代码#include<iostream>#include<algorithm>using namespac...

2016-10-10 22:34:00 62

转载 cf-Sasha and Array

题目链接 http://codeforces.com/problemset/problem/719/E解题思路矩阵上的线段树。因为矩阵有分配律(A+B)C = AC + BC,所以计算总和时直接把增量矩阵乘上去就行了。用矩阵快速幂。fib的计算尽量拉到主函数计算。代码#include<stdio.h>#include<stri...

2016-10-05 23:37:00 113

转载 poj2828-Buy Tickets

题目链接http://vjudge.net/problem/POJ-2828解题思路好吧。。。感觉跟Lost Cow那道题好像。。。然后稀里糊涂地过了。。。3500+ms(时限4s(⊙﹏⊙)b)线段树。。。单点代码#include<stdio.h>#include<string.h>#define MAX_SIZE...

2016-09-26 22:56:00 88

转载 hdu1272-小希的迷宫

题目链接http://vjudge.net/problem/HDU-1272解题思路需要判断图是否连通 且 只有一个连通分量注意只有0 0的情况。代码#include<stdio.h>#include<string.h>#define SET_SIZE 100010int s[SET_SIZE];bool vi...

2016-09-26 09:07:00 54

转载 CF #373 div2 补题记录

A#include<stdio.h>#define MAX_SIZE 100int moon[MAX_SIZE];int main(){ int n; scanf("%d", &n); for(int i=0; i<n; i++) scanf("%d", &moon[i]); if(n ==...

2016-09-24 22:24:00 81

转载 hdu1556-Color the ball

题目链接http://bak.vjudge.net/problem/HDU-1556解题思路直接线段树。代码#include<stdio.h>#include<string.h>#define MAX_SIZE 100010//#define LOCALstruct node { int left, ri...

2016-09-23 23:26:00 86

转载 poj2528-Mayor's posters

题目链接http://vjudge.net/problem/POJ-2528代码#include<stdio.h>#include<stdlib.h>#include<string.h>#define MAX_SIZE 10010using namespace std;int result;int l[MAX...

2016-09-22 17:21:00 56

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除