Meta-Loopless Sorts  Background Sorting holds an important place in computer science. Analyzing and implementing various sorting algorithms forms an important part of the education of most computer scientists, and sorting accounts for a significant…
题目来源:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=3&page=show_problem&problem=46  Meta-Loopless Sorts  Background Sorting holds an important place in computer science. Analyzing and implementing various so…
题目要求写一个直接用比较排序的pascal程序,挺有趣的一题. 我看题目数据范围就到8,本来以为贪个小便宜,用switch输出. 然后发现比较次数是阶乘级别的,8的阶乘也是挺大的,恐怕会交不上去. 于是改用回溯法. 其实他比较时就是把后面的数一个一个向前比较,然后插到那位前面,继续回溯. else的处理比较麻烦而已,改了好久终于跟标准答案一样了. 缩进没有处理,提交上去就ac了,看来oj没有检查缩进呢,如果有检查就还得处理一下了. 代码:(未进行缩进处理) #include <cstdio>…
参考博客:如何找取 最小覆盖点集合 题意:R*C大小的网格,网格上面放了一些目标.可以再网格外发射子弹,子弹会沿着垂直或者水平方向飞行,并且打掉飞行路径上的所有目标,计算最小多少子弹,各从哪些位置发射,才能将所有的目标全部打掉 分析:就是求最小覆盖点 以及 输出所有的覆盖点 最小覆盖点 == 最大匹配数 个人理解: 最大匹配数是用匈牙利算法求的,就是从左边一个点开始找到他看上的那个妹纸,如果那个妹纸已经名花有有主就跟那个男生换一个...沿着 ( 没匹配 - 匹配边 -... - 没匹配边)  这…
就是求混合图是否存在欧拉回路 如果存在则输出一组路径 (我就说嘛 咱的代码怎么可能错.....最后的输出格式竟然w了一天 我都没发现) 解析: 对于无向边定向建边放到网络流图中add(u, v, 1); 对于有向边放到另一个图中add2(u, v); 然后就是混合边求是否有欧拉 一边dinic后 遍历每一条边 如果不是反向边 且 起点不是s 终点不是t 如果Node[i].c == 0 则 add2(Node[i].v, Node[i].u); else add2(Node[i].u, Node…
题意: rt 解析: 我用的第二种方法... s向所有的边连权值为1的边 所有的点向t连权值为mid的边 如果存在u -  > v  则边向u和v分别连一条权值为INF的边 二分mid 用dfs从s 顺着边走标记点 然后输出1 - n种被标记的点即可 #include <iostream> #include <cstdio> #include <sstream> #include <cstring> #include <map> #incl…
这题的需要注意的地方就是计算行数与列数,以及输出的控制. 题目要求每一列都要有能够容纳最长文件名的空间,两列之间要留两个空格,每一行不能超过60. 简单计算下即可. 输出时我用循环输出空格来解决对齐的,其实可以用一个很巧妙的方法,用printf("%-*s", k, file[i]),查过资料后发现*放到转换字符之间可以当作替代符,后面可以输入一个变量(如k)来控制,这句代码意思是输出左对齐(对应负号)的宽度为k(对应*)的字符串file[i]. 代码: #include <cs…
就是棋盘问题输出一组解 https://blog.csdn.net/llx523113241/article/details/47759745 http://www.matrix67.com/blog/archives/116 求最小覆盖的步骤大致如下:1)在右边找到一个未被匹配过的点,标记.2)走一条没被匹配过的边,到左边的点,标记.3)走一条匹配过的边到右边,标记.4)重复2,3步骤直到不能再走.5)回到步骤一,直到找不到未被匹配且未被标记的右边的点.6)标记结束后,右边没有标记的点,和左边…
Java String作为参数传参是不会改变的,这个与常识的感觉不同. public String decodeString(String s) { s = ""; return s; } String s = "3[a2[c]]"; String ret = solution.decodeString(s); System.out.printf("Get ret: %s\n", s); 结果: Get ret: 3[a2[c]] 下面是正题和解…
UVA题解二 UVA 110 题目描述:输出一个Pascal程序,该程序能读入不多于\(8\)个数,并输出从小到大排好序后的数.注意:该程序只能用读入语句,输出语句,if语句. solution 模仿某一种排序算法(例如插入排序),递归输出答案. 时间复杂度:\(O(n!)\) UVA 111 题目描述:求两个数组的最长公共子串. solution DP 时间复杂度:\(O(n^2)\) UVA 112 题目描述:给出一棵树,判断是否存在一条从根到叶子节点的路径,路径上所有节点的权值和等于给定的…