自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小G的ACM之路

一个在艰难爬坑的菜鸟

  • 博客(15)
  • 资源 (6)
  • 收藏
  • 关注

原创 uva 434 - Matty's Blocks(贪心)

题意: 给出前视图和右视图,计算出最少需要几个正方体以及至多可再增加几个正方体。解析: 最少的情况就是如果能抵消掉的,就尽量让其抵消,高度相同的只需取一个,高度不同的都要取。 最多的话直接模拟,先将正视图一行一行的摆放,然后再讲右视图一列一列的摆放,在放置右视图的过程中只能取较小的。AC代码:#include<cstdio>#include<cstring>#include<a

2015-04-27 15:29:47 571

原创 uva 1555 Garland(二分)

题意: 给定n和A,根据题目公式推出最小的B。思路: 推公式, H1=AH1 = A H3=H2∗2+2−H1H3 = H2*2 + 2 - H1 H4=H3∗2+2−H2H4 = H3 * 2 + 2 - H2 ….. Hn=Hn−1∗2+2−Hn−2Hn = Hn - 1 * 2 + 2 - Hn - 2。 这样以H2做未知数。二分枚举H2使得H2满

2015-04-27 15:23:33 567

原创 UVA 1533 Moving Pegs(bfs+hash)

题意: 一个跳棋,给定一个空位。求最少步数且字典序最小使得跳到最后棋盘只剩一个旗子,且在初始的空位上。思路: BFS + hash判重,这题的思路还是比较好想的,但是我看网络上面的代码,都是打表+bfs,我直接把状态转换为2维数组,对6个方向进行bfs。AC代码#include <cstdio>#include <cstring>#include <algorithm>#inclu

2015-04-23 16:47:26 545

原创 hdu 5207 Greatest Greatest Common Divisor(数论)

题意: 给你n个数的数组,挑两个数使得最大公约数最大,求最大的最大公约数。解析: 求出每个数的举因子,如果数组里有两个或两个以上能够整除这个因子,那么这些因子中,最大的因子就是ans。AC代码#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>#include <cstdlib>using

2015-04-23 09:46:55 652

原创 UVa 269 Counting Patterns(dfs+构造)

题意: 求出所有的n个绝对值不大于k的数的组成排列,排列的和为0。 且对于一个排列,全部正负号翻转、排列顺序翻转、循环左移、循环右移所构成的新排列视为同一个排列,并要求按照字典序打印所有的排列。解析: 参考了学长的解题报告,其思路是按照字典序构造出和为0的排列,且该排列的字典序是当前排列所有字典序最大的。然后记录下来,最后打印。AC代码#include <cstdio>#incl

2015-04-22 20:05:14 560

原创 uva10318 Security Panel (dfs+剪枝)

题意: 有一个r*c的矩阵上选择一些格子进行“点亮”操作,使得最终所有格子都是“亮”的状态。初始时矩阵上面的所有格子是暗的,从左上到右下,编号从1开始。 现在我们给出一个3*3的矩阵,作为按钮规则: 例如: **. .*. *.. 也就是你按任意按钮,都把这个按钮当作是这个3*3矩阵的中心,按照这个规则,也就是按一个按钮,则这个按钮周围的 * 的位置,按照该规

2015-04-22 17:21:57 675

原创 UVa 165 - Stamps(连续邮资问题)

题意: 某国家发行k种不同面值的邮票,并且规定每张信封上最多只能贴h张邮票。 公式n(h,k)表示用从k中面值的邮票中选择h张邮票,可以组成面额为连续的1,2,3,……n, n是能达到的最大面值之和。 例如当h=3,k=2时, 假设两种面值取值为1,4, 那么它们能组成连续的1……6, 虽然也可以组成8,9,12,但是它们是不连续的了。解析:     首先开一个数组stampVal

2015-04-22 17:01:28 806

原创 UVA 471 Magic Numbers(枚举)

题意: s1/s2=Ns1/s2=N,s1、s2、N都是各个位数上数字不相同的整数。 给定N,求有多少个这样的式子并输出。思路: 其实最大的数只能是9876543210,所以我们只要暴力枚举s2,枚举过程中判断s1、s2是否符合题目要求即可。AC代码#include <cstdio>#include <cstring>#include <algorithm>#include

2015-04-22 16:47:53 539

原创 UVA 1450 Airport(二分+想法题)

题意: 有一个飞机场,有两条待飞跑到w和e,一条起飞跑道,每一时刻只能起飞一架飞机,然后有w[i]和e[i]架飞机进入w和e跑道,飞机编号从0开始,问说如何安排起飞可以使得飞机编号的最大值最小。解析: 由于是最大值最小化问题,所以要用到二分求解。二分枚举最大值 limitlimit 判断该最大值是否满足题目所给的条件。 这题看来别人的代码理解了好久,感觉这题充满了技巧。 设 h

2015-04-14 19:51:25 786

原创 POJ 1321 棋盘问题(dfs)

解析: 简单的dfs,逐行深搜,用一个vis数组来标记当前列是否已经放置棋子,如果没有放置,且当前的格子为 ‘#’ 就放置棋子并跳到下一行,如果没有可放置的棋子,就直接跳到下一行。AC代码#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>#include <cstdlib>using name

2015-04-07 21:40:02 471

原创 POJ 2528 Mayor's posters(离散化 + 线段树)

题意: 那个城市里要竞选市长,然后在一块墙上可以贴海报为自己拉票,每个人可以贴连续的一块区域,后来帖的可以覆盖前面的,问到最后一共可以看到多少张海报。分析: 线段树的区间更新。每贴一张海报就是把一个连续的区间的值全部更改,但这里的数据比较大,直接做可能时间空间复杂度都很高。 因为最多只有10000张海报,而即使每张海报的两个端点都不相同,最多就有20000个有用的端点,所以可以采用把

2015-04-07 21:15:55 497

原创 CSU 1563 Lexicography(全排列第K大)

题意 输出字符串全排列第K大的数字。AC代码#include <cstdio>#include <cstring>#include <algorithm>using namespace std;typedef long long ll;const int N = 100;char str[N], ans[N];ll factor[N], cnt[N];void get_fact

2015-04-06 19:34:29 639

原创 UVA 11027 Palindromic Permutation(组合数学)

题意: 给出字符串,以及n,然后字符串中的字母排序可以组成若干的字符串,有些为回文串,输出第n个回文串,若不存在第n个回文串,输出“XXX”。解析: 因为n非常大,所以用枚举是由点不太现实的,对于一个字符串,若能重排成回文串,说明每个字母出现的次数都为偶数,或者说为奇数的只有一个(可以放在中间); 然后这样我们就可以将字符缩减一半,构造左半边的字符串(注意若有单个字符输出时要加上)。 然后根

2015-04-06 19:24:23 601

原创 uva 11992 Fast Matrix Operations (线段树区间更新)

题意: 给你一个矩阵,然后有3种操作: 1 x1 y1 x2 y2 val 是将矩阵x1 y1 x2 y2的区间内的值全部增加val 2 x1 y1 x2 y2 val 是将矩阵x1 y1 x2 y2的区间内的值全部设置为val 3 x1 y1 x2 y2 求出 x1 y1 x2 y2的区间内的和,最大值,最小值。解析: 这个题是一道线段树题,要求进行区间修改设置以及求和

2015-04-06 19:04:54 589

原创 CodeForces - 525D Arthur and Walls(bfs)

题意: 要是的所有的房间都变为矩形,且清除的格子最少,输出清除最少的格子后的图。解析: 参考了他人的题解,解题思路就是每次检查2X2的方格里是否只有一个 * ,如果有的话这个*就需要变成 ‘.’。 利用BFS进行遍历,入队的要求是这个点为 * ,且符合以下4种情况。.. *. .* ...* .. .. *. 一开始将所有的符合条件全部加入队列,然后进行BFS,

2015-04-01 19:34:43 517

java局域网聊天(模拟QQ)

本程序实现了注册登入,私聊,群聊,文件传输的功能。 程序需要连接MySQL数据库,所以需要先安装MySQL数据库,然后执行建表语句,才可以运行。

2015-01-01

java十五数码图形界面程序

本程序是用java实现,15数码逻辑的逻辑部分是用c++生成的动态链接库实现的。 15数码的可能状态有 15!/2 这么多,不可能全部算完,所以这里我是用A*算法,寻找50之内,最接近答案的解,如果当前的状态没有找到答案,那么继续查找,最后肯定能复原。

2014-12-23

winmanager

winmanager插件,集合了taglist窗口,显示文件夹的目录结构并显示程序中的宏\函数\变量等

2014-09-15

ctags58.zip

ctags(Generate tag files for source code)是vim下方便代码阅读的工具。尽管ctags也可以支持其它编辑器,但是它正式支持的只有VIM。并且VIM中已经默认安装了Ctags,它可以帮助程序员很容易地浏览源代码。

2014-09-15

taglist_45.zip

taglist_45.zip包,加压把doc,plugin,auto中的东西风别放到vim对应的目录中去

2014-09-15

C++函数手册

一份比较全面的C++函数手册,欢迎大家下载

2014-08-18

空空如也

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

TA关注的人

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