
其他
文章平均质量分 60
f_zyj
一个追逐蝴蝶的人!
展开
-
C++期末大作业-简易通讯录
作为一个软件专业的学生,本来专业课是 Java,可惜我更喜欢 C++,所以呢,平时蹭一下 C++的课(不蹭不行啊,Java 老师说,如果我不上 Java 就必须上 C++)。上周三,上了第一节 C++课,老师是我们院的席院长,讲得很好,虽然第一节净跟我们讲故事啦……课间,院长说,今年的大作业是一个简易的通讯录软件,按小组完成,需要实现朋友信息的添加、查询、修改等功能,一个简易不能再简易的需求了,接着原创 2017-02-27 18:03:42 · 5553 阅读 · 4 评论 -
河南第十届ACM省赛-E-八纵八横
ACM模版描述 题解我们不解题,我们只是代码的搬运工……所以不要问我这个题为啥这样写,这个题是前一段时间河南省选赛的最难的题,这次出在河南第十届ACM省赛也是为了防 AK,谁成想,并没有起到效果,一共十一支队伍 AC,不过这十一支队伍都是那两个学校的,连铜牌队伍也 A 出来了,所以应该是他们都打印了这个题的代码,直接拓上去的。实际上这个并不是什么模版题……是彻头彻尾的原题原代码罢了,mark 一下原创 2017-05-10 01:32:47 · 1406 阅读 · 1 评论 -
CF-Tinkoff Challenge-Elimination Round-A-Oleg and shares
ACM模版描述题解水题,看懂就能 A,本来打算和其他题写在一起,但是碍于其他几道我会写的题都要写的详细一些,所以就单列出来充数吧!代码#include <iostream>using namespace std;const int MAXN = 1e5 + 10;const int INF = 1e9 + 10;int a[MAXN];int main(int argc, const char *原创 2017-04-27 22:14:48 · 447 阅读 · 0 评论 -
CF-Tinkoff Challenge-Elimination Round-B-Igor and his way to work
ACM模版描述 题解这个题很简单的一个 dfs 题,但是我因为写习惯了二维标记的 dfs,忽然写这个没反应过来,花式 WA 与 TLE,不加标记记忆化 TLE,加标记记忆化就 WA,最后无奈放弃了。如果不是 dfs 写着不顺,我也不会想起更好的方法,所以,这不想了一个划十字的方法,首先我们考虑一下,凡是满足题意的路径走法有几种,经过思考,一共三种分为两类。第一类,转一次弯或者不转弯,转一次弯,说明原创 2017-04-27 22:28:50 · 476 阅读 · 0 评论 -
蓝桥-ALGO-32-JAM计数法
ACM模版描述题解先求出最终状态,然后模拟着怼就好了,水题!代码#include <iostream>#include <string>using namespace std;int s, t, w;string st;string ed;int main(int argc, const char * argv[]){ cin >> s >> t >> w >> st; fo原创 2017-06-05 16:36:52 · 389 阅读 · 0 评论 -
蓝桥-ALGO-16-进制转换
ACM模版描述题解这个题让我更加深刻的认识到了取模与取余……以前总是以为取模就是取余,取余就是取模,谁成想原来这两个竟然不一样,而不一样的地方主要是体现在对负整数的除法运算有些许差异。经过查阅资料发现,不论是取余还是取模,都涉及到两个过程(r=a%br = a \% b): 1、求整数商:c=a/bc = a / b 2、计算模或者余数:r=a−c∗br = a - c * b 在取余过程中,原创 2017-06-02 22:14:06 · 441 阅读 · 0 评论 -
51Nod-1580-铺管道
ACM模版描述 题解这个题的水真深,不得不说这个题的解题思路有些始料未及……首先通过管道铺设的规则我们可以知道,管道最多只能有两个弯,而且管道口只能再非顶点边缘上,这不免有些让人感觉到复杂,但是也正是这个告诉我们这个题可以转化为求三类折线,贯穿线、折一弯儿端点在临边线、折两弯儿端点在对边线。于是我们将问题转换为了折点的问题,根据不同折点可以构成的折法,可以求出来我们需要的解。所以我们可以先求左右方原创 2017-06-08 06:35:03 · 501 阅读 · 0 评论 -
51Nod-1468-小Y的IP地址
ACM模版描述题解这个题我不会,请教的我 佐神灯 学姐,她说是神马解方程组,高斯消元,这个我也能想到,但是奇了怪了,最后她的代码怎么成了这种构造方法(看代码)。据说,明天早上她会把详细题解放到讨论区,好期待啊~~~O(∩_∩)O这个题让我很纳闷儿,我加上输入输出优化比不加还慢上十几毫秒,平时像这种大量输入输出的题,加上我那惯用的那个输入输出外挂会有显著提升的啊???代码#include <stdio原创 2017-07-02 19:07:57 · 352 阅读 · 0 评论 -
51Nod-1613-翻硬币
ACM模版描述题解这个题我感觉我已经没有什么可说了,只能说知乎大神的神级推导,真是无懈可击啊!对了,这个也可以看看评论区我那牛逼哄哄的 佐神灯 学姐的题解,我就是看她的题解搞得,很详细,详细的我都没心情看了……毕竟我是一个不求甚解的人~~~代码#include <cstdio>using namespace std;int n, k;int main (){ scanf("%d%d", &原创 2017-07-02 20:15:29 · 454 阅读 · 0 评论 -
HDU-5874-Friends and Enemies
ACM模版描述题解我感觉这个题十分奇怪……一个矮人岛有 M 个人和 N 种石头,两个矮人见面,不是爱人(朋友),就是敌人,前者要求身上的项链至少有一个颜色相同,后者要求没有相同颜色……问能否满足这样的条件!这里应该还有一个条件没有说,有些不靠谱,要求任意两个项链的颜色种数不能相同……看到这个题,我感觉人数和石头数都无所谓,全部都是 T 就行,因为我们大可以将这 M 个人分为两个圈子,同一个圈子的都是原创 2017-05-18 14:54:45 · 382 阅读 · 0 评论 -
51Nod-1345-画点集
ACM模版描述题解一开始我想着用模拟做,通过 B 状态推出前一个 A 状态,然后验证一下是否可以通过 A 状态推出 B’ 状态,使得 B’ = B,不断往前推,直到无法通过验证结束,但是不知哪里写残了还是啥,WA 了一片片,如果是 TLE 的话,正是我预料之中的,但是 WA 是我意料之外的结果……找了半天没有找到 bug 所在,坑死了……然后发现可以通过枚举点之间的状态来缩小结果,比如: 2030原创 2017-05-17 22:13:21 · 448 阅读 · 0 评论 -
51Nod-1804-小C的多边形
ACM模版描述题解这个题是一个构造体,只要发现了其中构造的规律即可。一开始我画了半天 n=5n = 5 的情况,发现怎么找也找不出来可行解。于是尝试 n=6n = 6 的情况,找到了一组可行解 3 5 2 4 13\ 5\ 2\ 4\ 1,然后大胆的猜测,每隔一项差为1,注意取模,并且第二项为最大值,这样,只有当多边形是奇数边时才可以保证每一个边符合关系,那么也就意味着当点数 n 为奇数时无解。抱着原创 2017-05-13 18:38:51 · 607 阅读 · 0 评论 -
PAT-天梯赛习题集-L3-013-非常弹的球
ACM模版描述题解这道题真的是非常非常水的一道物力题,连公式都给了,变换一下公式即可了,不过这里需要注意一下,可能精度原因,所以不要用能量控制循环,而用速度。真是对不起这道题的阶级,然而我并没有做到它,被上一道题给坑住了,不能 debug,浪费了我一个多小时,还是我眼瞎啊~~~怪不得别人,用习惯了高级IDE,这种垃圾透了的 IDE 真是用不习惯啊。代码#include <iostream>#inc原创 2017-03-27 22:19:32 · 1447 阅读 · 8 评论 -
腾讯2017暑期实习生编程题-B-算法基础-字符移位
ACM模版描述题解其实很简单的一道题,但是牛客网的测评系统有问题。给了两种代码,不知道第一种算不算违规,因为是直接遍历两边,先输出小写,再输出大写;第二种就是利用许多次交换实现真正的字符转移,由于不能申请额外的空间,所以没有使用第三方变量的方法交换数据,而是使用异或的方法搞搞。代码One://#include <iostream>//#include <string>////using nam原创 2017-03-07 22:59:59 · 458 阅读 · 0 评论 -
C++作业2-文件流对象
作业要求生成随机数据文件 text.txt。从文件 text.txt 中读取数据后排序。将排序好的数据写入 in.txt 文件。解决在主程序文件中加载多个头文件时,命名冲突问题。解决方案用随机生成函数生成数据写入文件流,然后再读取文件流,讲数据存入 num[],排序,将 num[] 中数据写入新文件,不在全局打开 std 命名空间,在调用时使用 std::xxx 等方法。代码ma原创 2017-03-15 00:04:46 · 575 阅读 · 0 评论 -
PAT-天梯赛练习集-L1-006-连续因子
ACM模版描述题解最开始看错题了,结果想岔了,用尺取法做了,但是不是说尺取法不能做,只是没必要用它,直接用数组存起来所有的因子即可,当然,也可以存一部分因子,毕竟这个结果只和前部分因子以及它本身有关。这里我用的尺取法,效率还算可以,但是系统有一个坑,明明说时间限制为400ms,可是10毫秒多一点儿就超时了,朋友说,大概这是玄学问题吧,于是我就又优化了一些,优化到了10ms,AC 了。这里需要考虑到的原创 2017-03-21 00:49:31 · 942 阅读 · 0 评论 -
CF-Codeforces Round #409 (rated, Div. 2, based on VK Cup 2017 Round 2)-B-Valued Keys
ACM模版描述题解十分简单的一道水题,看懂题就能秒,不用多一丝一毫的犹豫。这是一个特判问题,已知f(x, y) = min(x, y) = z,这里给定两个字符串x和z,求y,y的结果不唯一,其实,除去-1的情况,直接让y = z输出也是没问题的,说到-1的情况,当出现z的值比x还小时,就直接 GG。代码#include <iostream>#include <string>using names原创 2017-04-17 23:47:46 · 310 阅读 · 0 评论 -
51Nod-1293-球与切换器
ACM模版描述题解看到这个问题,直接就有了思路,但是我的解法Memory limit exceeded了……由于我是用的 bfs 解的,所以大概是因为入队列的结点太多了,并且缺乏好的优化,但是我实在是想不到什么更好的优化了,于是找了一下大牛的题解,发现可以通过创建一个 long long res[MAXN][MAXN][2]的三维数组来保存状态,用 res[x][y][0] 表示坐标为 (x, y)原创 2017-04-21 14:17:06 · 641 阅读 · 5 评论 -
ZOJ-The 14th Zhejiang Provincial Collegiate Programming Contest Sponsored by TuSimple-A~B
ACM模版心血来潮,参加了这么啥比赛,名字好长啊,只是参加了网赛,感觉还行,就是看不懂题~~~前两题过于简单,所以写在一起吧!A-Cooking Competition描述题解水题。代码#include <iostream>using namespace std;const int K[] = {0, 1, 0, 1, -1};const int D[] = {0, 0, 1, 1, -1};in原创 2017-04-23 23:29:08 · 674 阅读 · 0 评论 -
ZOJ-The 14th Zhejiang Provincial Collegiate Programming Contest Sponsored by TuSimple-D
ACM模版描述题解离散化找公共区间,然后对区间进行一定规则的累加就行了。 具体规则就看翻译了,能翻译对,就 AC,翻译不对,就可以洗洗碎了……还好猜样例猜到了规则!哎,英语渣渣打比赛真是累~~~全靠猜!对了,这个题的数据有些迷,题目说好了 1≤x,y≤1001 ≤ x, y ≤ 100,我开了 MAXN=110MAXN = 110 却 WA 了,开到200才 AC!!!痛心疾首啊,难道又是我翻译出原创 2017-04-23 23:48:21 · 701 阅读 · 0 评论 -
51Nod-1495-中国好区间
ACM模版描述题解这个题真的很让人出乎意料……没成想,1e7 的数据酱紫搞竟然能在 0.7s 内搞定。首先,我们暴力获得数组 a[]a[],然后使用尺取法,先获取一个满足题意的 l = 1, r = ?, cnt = kl\ =\ 1,\ r\ =\ ?,\ cnt\ =\ k 的区间,接着呢,很明显只要右区间大于 rr 都是好区间,然后尺取法往后继续查找刚好满足 l = ?, r = ?, cnt原创 2017-07-03 23:26:09 · 369 阅读 · 0 评论 -
51Nod-1519-拆方块
ACM模版描述题解十分有趣的题,我们从左往右遍历一遍,每个 a[i]a[i] 要么是比 a[i−1]a[i - 1] 多一次操作,要么是 h[i]h[i] 次,取小的;接着从右往左同理搞一遍,获取了 b[]b[],初始化 a[0]=b[n−1]=1a[0] = b[n - 1] = 1。最后呢,从这 a[i]、b[i]a[i]、b[i] 中取小,再在这 nn 个数中取最大即可。很好玩,仔细观察不难发原创 2017-07-08 23:42:47 · 408 阅读 · 0 评论 -
51Nod-1836-战忽局的手段
ACM模版描述题解这个题推导倒是很简单,关键是卡精度了,用 java 或者 py 都比较容易写,当然,用 C++ 的 __float128 也是可以的,但是不知道这个东西在比赛时是否可以正常使用。这里提供了两个版本的代码,一个 C++ 版(代码 One)的,一个 Java 版(代码 Two)的。代码One:#include <cstdio>using namespace std;__float128原创 2017-07-09 21:45:03 · 478 阅读 · 0 评论 -
51Nod-1995-三子棋
ACM模版描述题解仔细读题,运行代码出奇迹~~~代码#include <iostream>using namespace std;int main(int argc, const char * argv[]){ int T; cin >> T; int x, y; while (T--) { cin >> x >> y; swi原创 2017-12-10 12:58:07 · 987 阅读 · 4 评论 -
DES算法-C/C++实现
闲来无事,车一下轮子,折腾了大半天才搞懂 DESDES 是干毛子的,看了好多博客才弄清楚这个算法的具体原理,真是心累。只是简单的实现,功能比较简陋,因为参考的博客太多了,就不一一列举了,感谢前辈们的强大,让后辈得以更加快捷方便的学习。代码#include <cstdio>#include <cstring>// IP 初始置换表const int IP_Init_Table[64] ={原创 2017-12-06 17:33:44 · 2471 阅读 · 0 评论 -
OJ 简易数据生成器模板(数据机)
昨日,帮助某新生 OJOJOJ 出数据,一下子有些不知所措,因为虽然打了两年多 ACMACMACM,刷了一些 OJOJOJ,但是因为我们学校没有自己的 OJOJOJ,所以也没有出题出数据的经验,猛一下要求写数据机,还真不是特别趁手。该新生 OJOJOJ 要求每道题生成十组数据,输入数据放在 ∗.in∗.in*.in 文件,输出数据放在 ∗.out∗.out*.out 文件,∗:1∼10∗:1∼...原创 2018-03-23 00:29:36 · 3308 阅读 · 0 评论 -
作为程序员,你真的懂你的 IDE 吗?
作为程序员,我是一个 XcodeXcodeXcode 的忠实用户、忠实粉丝,它界面的优美、编码的舒适、智能的提示无不让我对他膜拜,但是我并不懂我的 XcodeXcodeXcode!XcodeXcodeXcode 有创建文件工程生成默认代码模板的功能,这一点十分优雅,然而很早以前,我就想要自己去定义这个模板,但是一直不知道怎么弄……机缘巧合看见了几篇博文,介绍如何自定义这些模板,顿时欣喜...原创 2018-05-29 03:44:51 · 1256 阅读 · 0 评论 -
阿里编程测试-问答题1-阿里有很多三位一体……
ACM模版描述题解这个题有强调要求在线性时间和空间复杂度完成,所以排序后遍历是行不通的。我们可以先扫一遍数组,记录下来 max_max_max\_ 和 min_min_min\_,这样显然答案大于 max_−min_n−1max_−min_n−1\frac{max\_ - min\_}{n - 1},这样我们可以将数的范围拆分为若干段,每段长度为 max_−min_n−1m...原创 2018-07-25 23:02:46 · 570 阅读 · 0 评论 -
行之有效的一些教程链接
最近工作以后发现越来越多的东西都需要去网上找教程了,但是网上教程繁多,并且错误的经过一传再传的更多,所以遇见不少坑,甚至坑的我都重装系统了,所以为了避免以后再盲目的踩坑,所以从今天开始记录一些自己亲测有效的教程链接,方便自己以后去查找。1、ubuntu16.04ubuntu16.04ubuntu16.04 安装使用 dockerdockerdocker 的步骤 2018.8.8...原创 2018-08-08 16:47:45 · 1910 阅读 · 11 评论 -
编程命名规范之 Google C++ 编程命名规范
大一的时候曾经特别关注过命名规范的问题,并且写了一个博客总结了一些基础的规范——《三种编程命名规范》,后来得知有一种命名规范叫做 Google C++Google C++Google\ C++ 命名规范的时候,特意看了一下,但是特别反感,感觉太糟糕了,所以就没有深究过……我讨厌压行,这是我反感这个规范的最大原因。不过,现在我不得不开始使用它了,因为我们公司我们部门我们组使用...原创 2018-09-07 01:41:28 · 1837 阅读 · 0 评论 -
crontab 定时任务
在 Mac OSMac\ OSMac OS 上处理周期执行的任务一般用 croncroncron 来搞,croncroncron 会读取一个或者多个包含定时任务的配置文件——&quot;crontab&quot;&quot;crontab&quot;"crontab"。cron 服务service crond start # 启动服务se...原创 2018-10-14 14:50:49 · 549 阅读 · 0 评论 -
KWIC-C/C++实现
吐槽最近我们 JavaJava 老师不知道为啥非要我用 C/C++C/C++ 来实现 KWICKWIC,但是因为没有上过课,不知道这个东西是干嘛的,所以想网上 downloaddownload 一下,然而,百度后发现,实在是没有什么能看的过眼的代码,修改他们的代码难度比自己写要大好多,于是,决定找一下定义自己动手实现一下。描述KWICKWIC 索引系统接受一些行,每行有若干字,每个字由若干字符组成;原创 2017-11-17 13:09:06 · 2399 阅读 · 3 评论 -
HDU-5559-Frog and String
ACM模版描述题解丧心病狂的构造题!!!Ps. 截图来自 JeraKrs’s blog。代码#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const char STR[][10] = {"A", "ABC", "ABAABB"};const int SIZ[] = {1, 3, 6};int原创 2017-10-16 22:11:18 · 439 阅读 · 0 评论 -
51Nod-1635-第K个幸运排列
ACM模版描述题解1∼n1\sim n 的排列数是 n!n!,阶乘的增长速度是恐怖的,题目中 1≤n,k≤1091 ≤ n, k ≤ 10^9,那么 nn 只要超过 1313,13!=6,227,020,80013! = 6,227,020,800,已经超过了 kk 的最大范围,所以我们很容易想到的是,将 1∼n1 \sim n 序列分成两部分,前部分是 1∼n−cnt1 \sim n - cnt,原创 2017-11-09 19:43:31 · 399 阅读 · 0 评论 -
51Nod-1552-白兰地定位系统
ACM模版描述 题解自觉这个题出得十分糟糕,糟糕透了……我到现在也没有弄懂这个题意……到底是始终从 11 到 nn 间来回走呢?还是从系统给的点之间来回走?也就是说,起点和终点默认为 11 和 nn 了吗?我找了一下大神们的代码,表示没有理解完全,没有理解输出 −1-1 那部分为什么将行驶区间默认为 1∼n1 \sim n 了,难道这个区间就不能像样例中那样根本不经过 11 和 nn 吗?我尝试删原创 2017-07-31 20:37:19 · 452 阅读 · 2 评论 -
HDU-2017 多校训练赛5-1006-Rikka with Graph
ACM模版描述题解这个题看着很复杂,代码却是十分简单,直接看代码吧,不是特别难。几个判断就能搞定了……代码#include <iostream>using namespace std;typedef long long ll;ll n, m;int main(){ int T; scanf("%d", &T); while (T--) { scanf原创 2017-08-08 17:02:52 · 672 阅读 · 0 评论 -
HDU-2017 多校训练赛6-1008-Kirinriki
ACM模版描述题解这个题要难为死我了,搞半天也不知道怎么做……首先我们可以假设 AA 一定在 BB 左边,然后我们可以考虑 AA 的尾部和 BB 的起点,如果暂时不考虑长度不固定,我们每次查找都让长度尽可能长,那么,我们一定需要将 AA 的尾部或者 BB 的起点靠近,然后获取 AA 向左延伸,BB 向右延伸对应位置的贡献,然后呢?我们可以采用尺取法来进行 AA 的尾部和 BB 的起点向两侧的推移,当原创 2017-08-10 17:20:11 · 629 阅读 · 7 评论 -
线段树专项训练习题集
ACM模版线段树专项训练开始了,网上找了找相关的训练题,但是没有找到好的集锦,也只好作罢,自己根据前辈们的博客整理出来一份习题集吧,想来一下子全部整理出来不如一道道尝试,一道道整理,这样子可以给不同的试题更好的定位,所以,从今天开始,陆陆续续会更新本习题集,希望对大家以及我自己有更好的帮助。更新结点,区间求和HDU 1166 敌兵布阵更新结点,区间最值HDU 1754 I Hate It原创 2017-01-10 17:34:10 · 2209 阅读 · 3 评论 -
51Nod-1811-联通分量计数
ACM模版描述题解感觉这个题好难啊,虽然知道是要求每条边的贡献,但是完全不知道具体怎么搞,花了 55 盾看了题解……虽说是思路上理解了,但是后边的 启发式合并 + 数据结构来维护子树 还是一脸懵逼,于是一狠心,又花了 6060 盾看了大牛们的代码……好吧,我必须承认,没有看懂,大体上算是理解了一丢丢,但是具体的还是十分头疼……感觉好麻烦的说,树归部分倒是十分容易看懂,但是还是无法顿悟 启发式合并 +原创 2017-08-04 22:34:29 · 792 阅读 · 2 评论 -
HDU-2017 多校训练赛7-1008-Hard challenge
ACM模版描述题解类似于尺取法的一个东西,扫描一下就好了。代码#include <iostream>#include <cmath>#include <algorithm>using namespace std;const int MAXN = 5e4 + 7;struct node{ long long x; long long y; long long val;原创 2017-08-15 18:52:01 · 538 阅读 · 0 评论