自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 UVa OJ 10441 Catenyms

题意:方法:比较明显的欧拉路。可以把字母当作点,字符串string当作边,建立有向图。判断是否存在欧拉路:有向图联通,而且所有点的出度都等于入度;或者,有向图联通,有一个点的出度比入度大一,而且有一个点的入度比出度大一,其他点的出度都等于入度。注意,因为结果要求输出字典序最小的答案,需要给边排序。Code:#include #include #include #inclu

2017-01-10 03:35:52 328

原创 UVa OJ 1423 Guess

题意:一个长为n(n方法:前缀和Prefix Sum,拓扑排序利用前缀和,如果[i, j] 内元素之和为负,就给引一条边Si-1 -> Sj;若为正则连边Sj -> Si-1;如果为零则合并Si-1, Sj。最后找出S序列的拓扑排序,依次从大到小给S赋值就好了。因为题目中说明给定的关系矩阵是合法的,那么我们在求解的时候可以省去很多麻烦(即不用去考虑是否存在拓扑排序的解;S之间只要相对关系合

2017-01-10 02:34:36 297

原创 UVa OJ 10054 Necklace

题意:给你一些两端各有一种颜色的珠子,只有颜色相同的端才可以相邻,时候可以组成一条项链方法:eulerian cycle 欧拉回路把颜色当作端点,珠子看作边,求是否存在欧拉回路。只有当图为联通而且每个点的degree均为偶数时,才存在欧拉回路。注意,寻找欧拉回路的时候要逆序。code:#include #include #include #include #incl

2017-01-10 01:33:48 300

原创 LA 6398 Low Power

题意:有n个machine, 每个machine有2个chips,每个chip需要k个batteries供电,chip的功率为k个batteries中的最小值。给你2*n*k个batteries,问你 所有machine的两个chips的功率差的最大值,最小是多少。方法: Binary Search, Greedy, Sorting将优化问题转化成判定问题。对于一个限制d,使得所有mach

2017-01-08 14:32:12 307

原创 LA 6393 Self-Assembly

题意:给你一些模块,如果接口字母相同而极性相反,那么就可以把两个模块连接起来。问你是否可以用当前种类的模块无限的连接。方法:把每个模块看成边,举例,如果一个模块上有 X+ 和 Y- , 那么 就从X-引一条边到Y-, 从 Y+引一条边到X+。建图后检查有向图是不是acyclic的,如果有有cylce,那么就可以无限的连接,unbounded。否则只能有限的连接。Code: #i

2017-01-08 13:27:08 273

原创 LA 6026 Asteroid Rangers

题意:在一个三维空间内有n个小行星(n方法:MST, Brute Force首先,因为要用最少的connection建立网络系统,所以要建立一个生成树Spanning Tree;其次要求花费最少,那么就要建立一棵Minimum Spanning Tree (MST)。这里我用的是Kruskal's algorithm 和并查集DSU,复杂度大约是O(E*log(E)), E为边数,

2017-01-06 16:37:36 359

原创 LA 6030 Infiltration

题意:给你一个包含n个点的有向完全图complete directed graph (n v 代表 点u 可以控制  点v。每两个点(u,v)之间的关系不是u控制v,就是v控制u(完全图)。你可以直接控制一些点,当你直接控制一个点u的时候,所有被u控制的点也都会被控制。但是这种关系不是transitive可传递的,即如果u控制 v,v控制 z,你选择直接控制u的话,v会被控制但是z不会被控制。让

2017-01-06 12:41:45 567

原创 LA 7263 Today is a raining day

题意:给你两个只有数字1-6(骰子掷出来的)的string,长度不超过110,要求你求出把第二个string变成第一个string的最少步数是多少。有两种操作,第一种是将一个digit改成(1-6)当中的一个,第二种是将一种digit全部改成(1-6)当中的一个。方法:bfs preprocessing + brute force首先有一个observation,就是最优解

2017-01-05 22:29:25 655

原创 LA 5140 Squares

题意:给你一个n乘n的点阵(2 方法:Brute force因为n比较小,直接检查就好了。检查的方式有很多种,这里用到的是先枚举正方形左上的点(i,j),再从小到大枚举边长k,检查当前左上端点和变长的组合是否合法的方法就是找出对应的左下端点b和右上端点a,check一下边(b,b上方的点)和边(a,a左边的点)存不存在。如果合法,那就记录下来,即 work

2017-01-05 21:13:31 259

原创 LA 5139 Rare Order

题意:26个字母有了新的lexicographical order,并且给出一些string,让你求出出现的字母的字典序。保证输入的string能给出足够的信息。方法:topological sort 拓扑排序。codeforces 上有升级版,既不保证一定有解,让你给出一个满足题意的字母序或者判断无解。code:#include #include #inclu

2017-01-05 19:30:34 344 1

原创 LA 7456 Least Crucial Node

题意:有一个联通图G(V,E), |V| 方法:DFS图非常的小,边数最多1e4条,我们只需循环每一个非sink的点,关闭它,然后从sink 开始dfs,求联通分量的大小。这样做的time complexity是O(n*(|V|+|E|)), 一个case的计算量在1e6左右,不会超过10个testcase,可行。Code:#include #include

2017-01-05 17:27:48 376

原创 LA 7457 Discrete Logarithm Problem

题意:给你一个质数p (1 方法:暴力。题目中也给了提示,说当p很大的时候,求离散对数是个难题,但是本题的p比较小,在(1所以我们只需brute force计算a所有的power mod p,如果当前的power等于b则返回当前指数;否则,如果当前的幂为1(下面的code里是如果当前的幂之前得到过,效果类似),就直接返回0,表示无解。code:#include #in

2017-01-05 16:55:46 1277

原创 LA 7454 Paranthesis

题意:给你一个圆括号的序列,允许你颠倒一些括号的方向, 一次操作只能改变一个括号,让你求出使得序列平衡的最少操作数。方法:贪心。从左向右数,统计两种括号的数量,如果‘)'的数量大于'('的数量,就把当前这个')'变成'(';再从右向左,进行相似的程序,如果‘('的数量大于')'的数量,就把当前这个'('变成')'。Code:#include #include

2017-01-05 16:29:03 899

空空如也

空空如也

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

TA关注的人

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