自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(245)
  • 资源 (10)
  • 收藏
  • 关注

原创 lintcode 骰子求和

/* 今天被问到了一道lintcode上的题目,然而想了好久才想明白,看来在STL处折腾得太久,当初看《挑战》时,粗浅地学的一点点动态规划,已经忘得所剩无几了... 这几天开始上课了,写acm题的时间又被压缩,不过还是尽力每天至少做一道算法题,保持题感。 此外,最近开始学java,偶尔也发些java的代码到博客,由于刚入门java,代码会比较简单,不过还是争取每天保证相当的代码量,

2017-09-05 22:54:31 1620

原创 C++ Primer 关联容器 单词转换程序

/* 此代码来自 C++ Primer,手敲一遍是因为: 1. 今天刚好开始学数据结构,好的算法的要满足 健壮性(数据非法时,也能适当作出反应或进行处理) 和 可读性 (便于理解和修改,按照老师的说法,主要体现在注释上),上完课后看C++ Primer,发现下面这段代码,在这两方面就做得比较好,值得学习 2. 因为STL学得还是不太扎实,只是在做题中偶尔用到,但没有系统地学...

2017-09-04 23:14:00 259

原创 UVA - 1595 Symmetry

/* 可用暴力破解的方法,思路如下: 先假设对称轴存在,且其为 x = xmid,那么对称轴肯定为为左端和最右端中点的平均数 xmid = ( xmin + xmax) / 2 如果x = x0真为对称轴,对任意的 xi,都会有 xj = 2 * xmid - xi; 鉴于求xmid涉及除以2,但是判断的时候,却可以用对称轴横坐标的两倍来判断,出于精度和误差方面的考

2017-09-04 00:00:14 181

原创 UVA - 10391 Compound Words

/* 这题我开始时的思路是:合成单词,两两合成,看组合得到的合成词是否在字典中,但这样很明显会超时 最后查完题解,发现正确的思路是分割,不过分隔的做法也不止一种,具体见下:*//* 法一: 参考博客:http://blog.csdn.net/czjxy881/article/details/8300237 A. 注意先说下博客里的代码,有两

2017-09-03 20:22:56 202

原创 UVA - 10763 Foreign Exchange

//这题虽然不算难题,而且因为还没学图论,不知道无向图是什么,所以查题解磕磕碰碰地完成了,过程可谓是一波三折,不过也算收获良多/* 法一: 参考blog1: http://blog.csdn.net/shihongliang1993/article/details/73500018 这个博主用了许多C++11的新特性,看得我大开眼界,将他用到的几种新用法弄明白,都用了不少的

2017-09-03 14:17:20 248

原创 曾经帮助我走出迷茫的一些书和博客(尤其推荐给计算机专业的同学)

/* 这些全部都是我自己看过的,基本都是自己曾经完整看完过的,不过,只能说各有所爱,我喜欢的,你也未必认可,留下自己觉得有启发的就好…价值观这种东西,本就没有所谓的对错,求同存异就好。 目前好像就想起来这么多,有些看了以后,虽然对我的行为和观念的影响还在,但我都忘记自己曾经看过这本书了,也许这就是润物细无声的力量吧… 不定期更新,想到再补上吧 这篇算是半技术向,迷茫的时候有些

2017-09-03 10:41:36 926

原创 记我和ACM的初遇

说明,今日偶然发现自己之前写过的随笔,又恰逢自己在acm上,终于刷题破百(其实大多是水题),便把这份随笔整理一下,并发上来

2017-09-03 09:22:00 549

原创 写在成年之际--年度总结

(这真是一篇暴露年龄的博文T^T)       由于昨天把之前积攒的题解代码发了一下,达到了csdn一天最多发10篇文章的上限。所以只能今天发了,准确说是”写在成年的第一天”~       过去的一年里,我经历了我的大一生涯,但是,总结大一生活之前,简单提一下高考吧,虽然这严格意义上说,并不属于过去的一年发生的事情。 1.     高考       高考可以算是我经

2017-09-03 01:05:22 610

原创 UVA - 10935 Throwing cards away I

/* 这题用到了队列的思想 BTW,查题解时,看到两个大佬的代码真是简洁,于是果断抛弃了自己写的,用他们的思路重新做了一遍 参考博客: http://www.cnblogs.com/AlgoWing/archive/2013/03/04/3189616.html http://blog.csdn.net/mobius_strip/article/details/45

2017-09-02 17:00:44 188

原创 C++中setiosflags()的用法

本文来自百度文库,留存以备日后查看,侵删原文地址:https://wenku.baidu.com/view/6017d02c2af90242a895e51e.htmlcout<<setiosflags(ios::fixed)<<setiosflags(ios::right)<<setprecision(2);setiosflags 是包含在命名空间iomanip 中的C++ 操作符,该

2017-09-02 15:51:58 1113 1

原创 UVA - 1594 Ducci Sequence

/* 做这题时的心路历程其实挺有趣的 一开始看到说Ducci序列最终要么全0,要么循环,我在想: 要怎么判断循环呢?是不是还得记录下循环节什么的?是该用数组记录循环节吗?还是想要让我们利用STL来记录? 后来又读了一次题,发现自己真是跑偏了,既然说全0或者循环,只要不是全0,最终就一定是循环嘛...我究竟是在纠结些什么 T^T 判断全0可不是比判断循环容易多了么?

2017-09-02 15:36:46 346

原创 UVA - 1593 Alignment of Code

/* 这题的收获 or 技巧 or 注意点 or 说明 1. getline函数读取整行 2. 流输入stringstream 3. string的size函数、length函数的返回类型都是size_type类型,在使用返回值之前,务必先进行强制类型转换 4. 此题有个坑点,每行的最后一列的单词,后面是没有空行的,直接回车,因此,要将最后一列的输出单独拿出来

2017-09-02 14:45:34 192

原创 UVA - 1585 Score

//得分 uva1585//这题好像没什么特别的收获,标准水题#include #include using namespace std;int main(){ int m; cin >> m; char s[100]; while (m--) { cin >> s; int n = strlen(s), t = 0, sum = 0; for (int i

2017-09-02 11:21:38 205

原创 UVA - 272 TEX Quotes

//入门经典P47 水题#include int main(){ int c, q = 1; while ((c = getchar()) != EOF) { if (c == '"') { printf("%s", q?"``":"''"); q = 1 - q; } else printf("%c", c); } return 0;}/*

2017-09-02 11:21:04 180

原创 UVA - 10079 Pizza Cutting

/* 主要是画图,画很多图,找规律,找到规律以后,发现算是简单题 思路的关键是:每次切割都与前(i-1)刀有交点的情况下,得到的块数是最大的*/#include typedef long long ll;using namespace std;const int N = 21e7 + 10;ll a[N];int main(){ a[0] =

2017-09-02 11:19:43 250

原创 UVA - 136 Ugly Numbers

/* 思路: 从小到大生成所有的丑数,最小的丑数为1,对于任意丑数x,2x,3x,5x也是丑数; 这样就可以用一个(数值越小,优先级越大的)优先队列来保存所有已生成的丑数,每次取出最小的丑数,生成3个新的丑数入队(生成的3个中,并不一定都是新的丑数,但只让新的入队),直到取出的丑数是第1500个丑数 但要注意: 同一个丑数可能有多种生成方式,例如(10 == 2 * 5

2017-09-02 11:16:05 173

原创 UVA - 814 The Letter Carrier's Rounds

/* 用到的处理手法 or 收获 or 注意事项: 1. substr函数分离邮箱的用户名和MTA,当需要有两个返回值时,通过传两个引用并改变它们来实现 2.对于map,在使用map[key]前,必须先检查一下key是否存在 如果map不包含key,使用下标有一个危险的副作用,会在map中插入一个key的元素,value取默认值,返回value。也就是说,map[key]不可

2017-09-02 11:14:47 264

原创 UVA - 400 Unix ls

/* 收获: 1. 我觉得最大的收获是,了解了该怎么进行竖向的数据输出 并且,以及《入门经典》的做法,并没有先转换为二维数组再输出,而是用了些别的技巧(好像也能算是技巧,具体的看代码吧,这个我也不太好描述) 2. string的size()函数的返回类型: 之前一直以为是int型,后来看到《入门经典》里面有对size返回值的强制类型转换,于是去查了一下,发现自己以前错得有

2017-09-02 11:14:11 149

原创 UVA - 1592 Database

/* A.该题思路: 如果四重循环枚举 r1, r2, c1, c2,那么枚举时间过大,肯定会TLE 解决方法: 只枚举 c1, c2, 然后从上到下扫描各行。每次碰到一个新的行r,把c1 和 c2两列的内容作为一个二维数组存入map,如果map的键值已经存在这个二元组,二元映射到的就是所要求的r1,而当前行就是r2 细节优化: 如何表示由c1

2017-09-02 11:12:33 248

原创 UVA - 207 PGA Tour Prize Money

/* 法一: 代码借鉴修改自blog: http://blog.csdn.net/aozil_yang/article/details/50543965 这个博客把思路和注意的地方说得很详细了,建议一看 收获: 1. 如何在字符串中招某个特定的字符? 可用strchr()函数: http://blog.csdn.net/tommy_wxie/article/

2017-09-02 11:10:19 286

原创 UVA - 221 Urban Elevations

/* 这题的基本思想是坐标离散化,之前看《挑战程序设计竞赛》时,做过类似的题如下: GCJ 2008 APAC local onsites C Millionaire 链接:http://blog.csdn.net/mofushaohua_ln/article/details/77647763 说明:这题是概率题,虽然不算是坐标离散化,不过思路也是离散化,当时做这题时,因为是

2017-09-02 10:25:24 232

原创 技巧 坐标离散化 (来自《挑战程序设计竞赛》P164)

/*#坐标离散化 (来自《挑战程序设计竞赛》P164)给出题目和主体代码:题目:区域的个数w*h的格子上画了n条或垂直或水平的宽度为1的直线。求出这些线将格子划分了多少个区域(w和h的范围都为[1, 1e6],n的范围为[1,500])思路:一般先想到的是类似水塘问题的处理,建立数组并深度优先搜索但是这个问题中w和h最大为1000000,所以没办法创建w*h的数组。因此我们要使

2017-09-02 09:36:41 766 1

原创 CodeForces - 820A Mister B and Book Reading

//水题#include using namespace std;int main(){ int c, v0, v1, a, l; while (cin >> c >> v0 >> v1 >> a >> l) { int day = 0; if (v0 >= c) { cout << 1 << endl; continue; } day++; c

2017-08-31 15:36:20 254

原创 UVA - 1583 Digit Generator

//生成元 uva1583//收获:有时候枚举耗时过多,且对某个数字n,要从0枚举到(n - 1),在这种情况下,最好是建表查表,以提高效率 #include #include using namespace std;const int maxn = 100005;int a [maxn];int main(){ memset(a, 0, sizeof(a)); for (

2017-08-31 15:35:46 232

原创 ZOJ - 3958 Cooking Competition

//水题#include #include using namespace std;int a[25];int main(){ int t, n; cin >> t; while (t--) { cin >> n; int mark1 = 0, mark2 = 0; for (int i = 0; i < n; i++) { cin >> a[i];

2017-08-31 15:35:02 219

原创 UVA - 10056 What is the Probability

/* 这题其实并不难,可以说,算是比较简单的概率题了...涉及到一点等比级数求和,但这也是高数里面学过公式的,总之,没做出来有些不应该 注意下:浮点数是有误差的,所以p为0时,要单独特判,并且特判时也要注意小数点位数,思考方面不太难,但如果不注重细节,很容易WA*/#include #include #include using namespace std;const

2017-08-31 15:34:28 229

原创 CodeForces 732B Cormen — The Best Friend Of a Man

//这题也是水题#include using namespace std;const int N = 505;int planned[N];int total[N];int main(){ int n, k; while (cin >> n >> k) { int ans = 0; // sum of additional hours for (int i = 0;

2017-08-31 15:32:32 195

原创 UVA - 455 Periodic Strings

//周期串 uva455//借鉴了代码思路: http://blog.csdn.net/mobius_strip/article/details/40584263/*收获:**1.暴力破解,但要注意,不是死列举,而是发现,循环节首先必定是长度的因子,再去暴力破解,不要蛮解**2.注意格式的控制*/#include using namespace std;char a[100];i

2017-08-31 15:31:45 207

原创 ZOJ - 3959 Problem Preparation

//水题,排序后就能直接按照要求判断了,没什么坑点#include #include #include using namespace std;const int N = 105;int a[N];int main(){ int T, n; scanf("%d", &T); while (T--) { scanf("%d", &n); for (int i =

2017-08-31 15:30:45 261 1

原创 CodeForces - 732C Sanatorium

/* 注意!!!题目的理解很重要,我当初就是因为题意理解有误,一直WA We shouldn't count as missed meals on the arrival day before Vasiliy's arrival and meals on the departure day after he left. 这句话表明了:如果在抵达的那天,或者离开的那天,没有吃满3顿

2017-08-31 15:30:09 179

原创 UVA - 10474 Where is the Marble

/* 算是水题,难度不大 有个值得注意的小细节是,CASE的每个字母都是大写的,而不仅仅是第一个,为此WA一次 值得学习的函数: sort对vector排序时:sort(v.begin(), v.end()) lower_bound: 查找“大于或等于x的第一个位置”*/#include #include #include using namespace

2017-08-31 15:29:23 195

原创 UVA - 1584 Circular Sequence

//环状序列 uva1584//收获://如何判断环状序列的字典序:取余的巧妙应用,但是注意仅比较长度次数,否则循环可能无法退出,故要 n = strlen(s) i从0到(n-1), 比较n次即可 #include #include using namespace std;int maxn = 105;//环状串s的表示法p是否比表示法q的字典序小 int CompareSe

2017-08-31 15:28:50 171

原创 UVA-10082 WERTYU

//WERTYU问题://收获:注意的就是,在字符串中表示\,仍然要用\\,前一个\是转义字符 //O S, GOMR YPFSU/#include #include using namespace std;char s[] = "`1234567890-=QWERTYUIOP[]\\ASDFGHJKL;'ZXCVBNM,./"; // \\才表示\,前一个符号是转义字符int ma

2017-08-30 23:24:41 261

原创 UVA-10128 Queue

/* 这题是使用了动态规划算法,思路很是巧妙 动态规划的思路讲解,这个博客比较详细: http://blog.csdn.net/metaphysis/article/details/6566478 代码的简洁优雅,这个博客更胜一筹: http://blog.csdn.net/keshuai19940722/article/details/14230003*/#includ

2017-08-30 23:24:05 138

原创 GCJ 2008 Round1A A Minimum Scalar Product

//水题#include #include #include using namespace std;typedef long long ll;const int MAX_N = 1000;int n;int v1[MAX_N], v2[MAX_N];void solve();int main(){ int k; freopen("E:\\A-large-practi

2017-08-30 23:23:16 198

原创 UVA - 340 Master-Mind Hints

//例题3-4 猜数字游戏的提示//收获:处理思路:在猜测和答案中都出现某数字,且在猜测和答案位置不同的次数 = 都出现的次数 - 数字位置正确的次数; 都出现的次数 = min(答案中出现次数,猜测串中出现次数) #include using namespace std;int main(){ int n, *a, *b; int sum1, sum2, c1, c2, kas

2017-08-30 23:22:38 184

原创 poj3684 Physics Experiment

//挑战的分析已经很详细了,P157-158,我也就不再赘言//注意单位,输入单位是厘米,输出的要是米#include #include #include #include using namespace std;const double g = 10.0;const int maxn = 105;double y[maxn];int N, H, R, T;double

2017-08-30 23:22:04 169

原创 UVA - 156 Ananagrams

/* 收获: 1. map是从键到值的映射 例子:map month_name; month_name["July"] = 7; map除了支持set支持的insert、find、count、remove外,还支持 [] 运算符,故map可弹鼓奏数组使用,map也称为“关联数组” 2. 对string的sort排序,写法为: sort(s.begin(),

2017-08-30 23:21:14 130

原创 UVA - 10815 Andy's First Dictionary

/* 收获: 1. set是数学上的集合,每个元素最多出现一次,和sort函数一样,自定义类型也可定义set,但必须定义小于运算符 关于STL中的set,可见改blog: http://blog.csdn.net/sunshinewave/article/details/8068326 2. string类中除了size()以外,也有和它意义用法基本一样的length()

2017-08-30 23:20:30 152

原创 UVA - 101 The Blocks Problem

/* 收获: 1. 虽然不能返回两个值,但是可以用传引用作为参数,改变引用,来实现相同的效果 2. 不定长数组用 vecotr 保存比较合适 3. vector中的resize函数很好用,可以重新设定vector的长度,多余的元素全部删掉 有关resize()函数的更多介绍: http://blog.csdn.net/jocodeoe/article/details

2017-08-30 23:19:35 153

分别用暴力法和分治法 求解最近点对问题 C++代码 网盘链接

分别用暴力法和分治法 求解最近点对问题 C++代码 网盘链接

2018-10-05

《数学建模》lingo程序 网盘链接

《数学建模》lingo程序 百度网盘链接,对参加数学建模比赛的朋友们十分有用

2018-10-05

司守奎《数学建模算法与应用》的程序及数据 网盘链接

司守奎《数学建模算法与应用》的程序及数据 百度网盘链接,对参加数学建模比赛的朋友们十分有用

2018-10-05

数学建模方法与分析 部分题目代码

数学建模方法与分析 部分题目代码 百度网盘链接,对参加数学建模比赛的朋友们十分有用

2018-10-05

最近点对的暴力法和递归法实现(图形界面) C++代码 网盘链接

最近点对的暴力法和递归法实现(图形界面) C++代码 网盘链接

2018-10-05

分治法求最近点对 图形界面实现 Java代码 百度云链接

分别用暴力法和递归方法实现了最近点对的计算,并且带有图形界面!

2018-10-05

cuda_9.0.103_384.59_linux.run 百度网盘下载地址

CUDA 9 具有强大的并行计算平台和编程模型。 cuda_9.0.103_384.59_linux.run 百度网盘下载地址

2018-09-09

solid conventor v8 及其解锁码 百度云下载链接

solid conventor v8 及其解锁码的百度云下载链接,亲测可用,正版无须破解机

2018-08-19

cuda9.1+配套cudnn

CUDA 9.1+配套cuDNN百度云下载链接,可用于配置深度学习框架

2018-08-19

算法竞赛入门经典第2版完整pdf

清晰详细的《算法竞赛入门经典(第2版)》电子书,带有书签和注释的超链接,适合ACM入门者和算法初学者

2018-01-30

空空如也

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

TA关注的人

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