自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 if和switch效率比较及分析

经常听说switch的效率比if-else要高。可是到底高多少呢?又为什么会高呢?我写了两个简单的测试程序进行了比较。if-else测试代码int main(int argc, char** argv){ int rounds = atoi(argv[1]); int target = atoi(argv[2]); clock_t st=clock(); for(int i=0; i<rounds; i++) { if (target == 0) continue; el

2021-07-07 17:40:35 7133 2

原创 MFC按键事件虚拟码对照表

...

2021-06-07 11:31:12 328

原创 STL sort源码分析

先大概介绍一下sort的实现吧。sort的底层实际上算是两种甚至三种排序的混合。当对大量数据采用快速排序,当数据基本有序时改用插入排序,并且在发现时间复杂度有向O(n*n)发展时,改用堆排序。以下代码均来自于devc++ 5.11版本。我们从sort函数看起//stl_algo.h, line 4703 template<typename _RandomAccessIterator, typename _Compare> inline void sort(_Ra

2021-05-11 14:35:10 485

原创 二分模板

#include <bits/stdc++.h>using namespace std;const int maxn=1e5+5;void binary(int a[], int n, int x){ int l=0, r=n;//左闭右开区间 while(l<=r) { int mid=(l+r)/2; if(a[mid] < x) l=mid+1;//找到第一个大于等于的元素,如果要找大于就加个等于号 else r=mid-1;//return l.

2020-10-10 10:36:54 99

原创 通过cmd命令获取文件的行数

偶尔,我们会需要快速获得某一文本的行数,但如果自己手动写程序可能会发现程序运行所用的时间会比想象中要长得多。这时,我们可以考虑使用调用cmd命令实现该功能,速度会比自己实现快得多。测试环境:win7 32bit 4G内存测试结果:0.5G的txt文件只要3秒左右可以获取测试截图:cmd命令: find /V /C "" test.txt命令解释:查询所有不包含空串的行的行数/V显示所有不包含某字符串的行/C仅显示包含某字符串的行数...

2020-09-28 16:16:15 4654

原创 【2020CCPC网络赛】1002 Graph Theory Class(HDU6889)

题目链接题意:给你一个n个结点的完全图,结点从1~n标号,结点i和j之间的边权为lcm(i+1,j+1),问你这个图的最小生成树的边权和是多少思路:为了方便起见,我们将节点从2~n+1编号,可以知道,当新加入的节点是个质数时,最小生成树的权值之和增加的是两倍的质数值,因为把这个点和2连起来是加的值最小的,当新加入节点的值不是质数时,权值之和增加的是这个数的值,因为前面一定会存在一个数是这个数的因子,只要把这个数和它的因子连起来,增加的值就只是这个数本身的值了。我们可以把所有质数提一个出来,则增加

2020-09-21 18:08:36 211

原创 【2020CCPC网络赛】1005 Lunch(HDU6892)

题目链接题意:有n块巧克力,每块长度为Li,两个人轮流选某一块,将其均分为x(x!=1)块,每块长度为整数。无法进行操作者输。思路:首先我们知道如果只有一块,则一定是先手必胜状态。因为先手可以把这一块分成L块长度为1的。但如果先手不是一次性分成长度为1的,那么先手是不是一定会变成必败态呢?当然不是。考虑长度为4的情况,如果将4分成2个2,最后还是先手必胜。其实,只要分成的是偶数块,都不会导致状态交换。那如果是分成奇数块呢?那就会了。比如将6分成3个2,最后先手由必胜变成了必败态。所以我们可以知道

2020-09-21 16:11:05 145

原创 hdu 6747 rotate 【数学期望】

http://acm.hdu.edu.cn/showproblem.php?pid=6747Problem Description我们有一个圈,从内到外一共被分成了 n 个环,中间是空的。我们把从外到内第 i 层环平分成 a[i] 份,其中 a[i] 是偶数,我们把这 a[i] 份黑白染色,第奇数个染成黑色,第偶数个染成白色。现在我们旋转每一层,每一层都会等概率随机到一个中止位置。问黑色的联通块数目的期望。两块黑色的区域有交点即算联通。层之间的旋转是相互独立的。Input第一行一个正整

2020-07-31 21:50:24 165

原创 Hybrid Crystals(思维,水题)

题目链接:Hybrid Crystals题意:有三种能量石,分别是L,D,N。每颗能量石含有ai的能量。能量石可以融合,融合规则:L类型的合并可以增加ai点能量,D类型的减少,N类型的可加可减(加还是减随你自己)。并且保证第一颗能量石的能量是1,且类型是N。并且每颗能量石符合题目所给的那个公式。给你一些能量石,你需要融合其中一部分,让融合后的能量是k。思路:看懂那个式子,这就是一个彻底的水题了。我直接解释式子的意义了:第一颗L的取值最大是1,第二颗最大是2,第三颗最大是4,第四颗是8。D类型的同

2020-06-13 18:23:42 130

原创 HDU6143 Killer Names(排列组合)

题目链接:Killer Names题意:每个人的姓和名都是长度为n的字符串,现在你有m个字符可用,要求姓和名不能出现相同的字符,问最多有多少种方案。思路:因为不要求m个字符全部用完,所以我们可以考虑共使用x个字符分配给姓和名,可选方案数是C(m,x),显然2<=x<=m。然后我们考虑从x个字符中选 i 个字符给姓,则剩下x-i个字符可以给名,可选方案数是C(x,i)。我们记 A[n][i] 是用 i 个字符填n个位置的方法数,可得状态转移方程 a[n][i]=( a[n-1][i-1]

2020-06-13 17:48:36 118

原创 everything原理解释与简单实现。

外面疫情正严重,老师也还没开始上课,我都在家宅了一个多月了。。。实在是闲的无聊。学习?怎么可能,学习是不可能学习的,这辈子都不可能学习的。前几天,在和大佬聊天的时候,偶然听说了一个名叫everything的软件,可以很方便的查询电脑内的文件位置,据说可以秒出结果。只不过只针对NTFS文件系统的盘。在网上查了下,才知道是依赖于NTFS系统自身的特性。everything使用了NTFS文件系统自身...

2020-02-11 17:18:13 3687 6

原创 mysql查询含转义字符

众所周知,在mysql数据库中‘\'是转义字符,所以在插入和查询时需要处理一下转义字符,插入很好办,把一个替换成两个就好了,但查询呢,稍微有一点点恶心,=查询一换二,like查询一换四。。。比如数据库的字段如下id text01 \abc假如查询id=01的这一行怎么办呢,如果是等于查询,把一个换成两个就好了select * from table where te...

2020-02-11 16:05:27 2889 1

原创 c++读取UTF8编码文件乱码

我由于需要将某一文件的空行删掉,反正闲着无聊,就准备自己写个代码实现。本来应该就那么几行就可以解决的,结果却发现是乱码。然后,本来几分钟就ok的事,我花了一整个下午的时间才解决。果然写代码才是最好的消磨时间的方法。解决方案一:把要改的文件另存为ANSI编码就不会乱码。解决方案二:string UTF8ToANSI(const char *str){ string res; wc...

2020-01-29 17:38:09 3136 2

原创 X(1956): 数字和

X(1956): 数字和Time Limit: 1 SecMemory Limit: 128 MbSubmitted: 71Solved: 25Description长者对小明施加了膜法,使得小明每天起床就像马丁的早晨一样。 今天小明早上起来后发现身体虽然变小,头脑依旧不变变傻。他有一条纸带,上面有n个数字,第i个数字为Ai。 他想把纸带...

2020-01-05 16:40:43 285

原创 csp201912-3 化学方程式 100分

题意很简单,给定一个化学方程式,判断是否已经配平,是则输出“Y”,否则输出“N”。更新:getnum函数的循环在执行前,多加了句清零。就因为少了那句清零,我在90分这里卡了足足两天!!!顺便有个小问题,化学方程式的右括号后面可以不跟数字的吗?就像Na(OH)这样#include <bits/stdc++.h>using namespace std;map<s...

2019-12-17 12:05:33 1168 2

原创 ioccc代码分析(1)

在四级考试的前一天,咸鱼的我不仅没有学英语,还开始研究起了IOCCC(国际混乱C语言代码大赛)。个人C语言学的也比较渣,在看了这些大神的代码之后,更加感觉自己C语言都学狗身上去了,先看第一个代码:int i;main(){for(;i["]<i;++i){--i;}"];read('-'-'-',i+++"hell\o, world!\n",'/'/'/'));}read(j,i,p...

2019-12-13 20:36:56 766 3

原创 E - Text Editor Gym - 101466E

One of the most useful tools nowadays are text editors, their use is so important that the Unique Natural Advanced Language (UNAL) organization has studied many of the benefits working with them.The...

2019-08-15 20:43:35 185

原创 Vertex Cover

frog has a graph with n vertices v(1),v(2),…,v(n) and m edges (v(a1),v(b1)),(v(a2),v(b2)),…,(v(am),v(bm)).She would like to color some vertices so that each edge has at least one colored vertex....

2019-08-14 16:52:27 189

原创 Carries

frog has n integers a1,a2,…,an, and she wants to add them pairwise.Unfortunately, frog is somehow afraid of carries (进位). She defines hardness h(x,y)for adding x and y the number of carries invo...

2019-08-14 16:51:10 244

原创 Censor

frog is now a editor to censor so-called sensitive words (敏感词).She has a long text p. Her job is relatively simple -- just to find the first occurence of sensitive word wand remove it.frog rep...

2019-08-14 15:40:18 309

原创 hdu 6026 Deleting Edges

Deleting EdgesTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 2224Accepted Submission(s): 742Problem DescriptionLittle Q is crazy...

2019-08-06 20:27:23 98

原创 hdu 6570 wave

WaveTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 262144/262144 K (Java/Others)Total Submission(s): 733Accepted Submission(s): 315Problem DescriptionAvin is studying series. A ser...

2019-08-05 21:00:38 130

原创 2019 CCPC江西省赛 C HDU 6569 Trap

Avin is studying isosceles trapezoids. An isosceles trapezoid is a convex quadrilateral with two opposite parallel bases, two equal-length legs and positive area. In this problem, we further require t...

2019-08-05 11:28:18 638

原创 HDU 6567 Cotree(2019CCPC-江西省赛 A)

Problem DescriptionAvin has two trees which are not connected. He asks you to add an edge between them to make them connected while minimizing the function ∑ni=1∑nj=i+1dis(i,j), where dis(i,j) repre...

2019-08-05 11:19:46 245

原创 2019 第十六届浙江省赛部分题解

A:Vertices in the PocketDreamGrid has just found an undirected simple graph with n vertices and no edges (that's to say, it's a graph with n isolated vertices) in his right pocket, where the vertice...

2019-04-28 19:37:10 913

原创 黑龙江大学程序设计竞赛(重现赛)

虽然我们是打的团队赛,但我并没有做出什么贡献,貌似本人一个都没过,全程划水。全靠摊了两个好队友才A了七个出来。但赛后发现其实这些题我都是写得出的(除了F那个超时我真的没办法之外)。题目都挺简单的,但我想复杂了Problem AFind the Nth Characterhttps://ac.nowcoder.com/acm/contest/877/A题意:一个如题的字符串,求字符串中...

2019-04-26 19:36:50 346

原创 c++与批处理结合对文件批量重命名

本人沉迷动漫无法自拔,由于网络问题,我是先下载后再看的。相信不少朋友都遇到过类似的问题,网上下的文件名太长或者没什么用。想重命名,但问题是,如果文件少倒还好,万一文件有几百个,一个个重命名不得累死。如果能写个程序自动进行重命名该多好,这时候我就想到用批处理了。这种事用批处理最方便不过了,遍历文件夹内的文件,然后重命名。可如果要截取的是文件名中间的一部分,用批处理就会很麻烦了。比如下面这种“ひぐらし...

2019-01-09 21:10:59 800 1

原创 HDU 1065

I Think I Need a HouseboatTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 15316    Accepted Submission(s): 4281 Problem DescriptionFred...

2018-09-23 16:48:52 205

原创 1901: 赏赐 OR 灾难

1901: 赏赐 OR 灾难     Time Limit: 1 Sec    Memory Limit: 128 Mb    Submitted: 418    Solved: 110    Description大G南征北战终于打下了大片土地成立了G国,大G在开国大典上传召帮助自己南征北战的三大开国元勋小A,小B,小C进殿,并要赏赐三人大量宝物以显示天恩浩荡。大G在征服其他国家的时候...

2018-07-14 14:26:54 142

原创 I(1005): Binary Search Tree analog

I(1005): Binary Search Tree analog    Time Limit: 1 Sec    Memory Limit: 128 Mb    Submitted: 102    Solved: 57    DescriptionBinary Search Tree, abbreviated as BST, is a kind of binary tree maint...

2018-07-14 13:29:23 148

原创 V(1982): 小M的移动硬盘

V(1982): 小M的移动硬盘    Time Limit: 1 Sec    Memory Limit: 128 Mb    Submitted: 171    Solved: 66    Description最近小M买了一个移动硬盘来储存自己电脑里不常用的文件。但是他把这些文件一股脑丢进移动硬盘后,觉得这些文件似乎没有被很好地归类,这样以后找起来岂不是会非常麻烦?小M最终决定要把这...

2018-07-14 13:19:45 213

原创 S(1022): 菜鸟和大牛

S(1022): 菜鸟和大牛    Time Limit: 1 Sec    Memory Limit: 128 Mb    Submitted: 101    Solved: 62    Descriptionblue和AutoGerk是好朋友。他们的相同点是都喜欢研究算法,不同点是AutoGerk已是大牛而blue还是菜鸟。blue经常拿一些自以为很难的问题去问AutoGerk,想难倒...

2018-07-14 12:40:58 107

原创 2026: Daydreaming Stockbroker

2026: Daydreaming Stockbroker     Time Limit: 1 Sec    Memory Limit: 512 Mb    Submitted: 396    Solved: 122    DescriptionGina Reed, the famous stockbroker, is having a slow day at work, and bet...

2018-07-13 15:17:36 173

原创 1974: 神奇药水

1974: 神奇药水     Time Limit: 1 Sec    Memory Limit: 256 Mb    Submitted: 696    Solved: 159    Description       对于csuxushu来说,能够在CSU(California State University)组织2017年的ACM暑期集训让他感到十分荣幸。 csuxushu是一名...

2018-07-13 14:36:24 213

原创 1971: 安排座位

1971: 安排座位     Time Limit: 2 Sec    Memory Limit: 128 Mb    Submitted: 331    Solved: 227    Description一年一度的暑期集训又开始了!作为老人的小明非常忧伤,因为他要给所有的新人安排座位。由于安排给新人的座位上的机器可能有各种毛病(比如很卡,上不了网之类的),这些问题的出现都会让新人的训...

2018-07-13 14:25:05 152

原创 1840: Lawn mower

1840: Lawn mower     Time Limit: 1 Sec    Memory Limit: 128 Mb    Submitted: 217    Solved: 115    Description    The International Collegiate Soccer1 Competition (ICSC) is famous for its well-ke...

2018-07-13 14:20:41 173

原创 1785: 又一道简单题

1785: 又一道简单题     Time Limit: 5 Sec    Memory Limit: 128 Mb    Submitted: 974    Solved: 371    Description输入一个四个数字组成的整数 n,你的任务是数一数有多少种方法,恰好修改一个数字,把它 变成一个完全平方数(不能把首位修改成 0)。比如 n=7844,有两种方法:3844=62^...

2018-07-13 13:55:11 327

原创 1781: 阶乘除法

1781: 阶乘除法     Time Limit: 5 Sec    Memory Limit: 128 Mb    Submitted: 1055    Solved: 315    Description输入两个正整数 n, m,输出 n!/m!,其中阶乘定义为 n!= 1*2*3*...*n (n&gt;=1)。 比如,若 n=6, m=3,则 n!/m!=6!/3!=720/6...

2018-07-13 13:31:07 389

原创 1588: 合并果子

1588: 合并果子     Time Limit: 1 Sec    Memory Limit: 128 Mb    Submitted: 1729    Solved: 783    Description现在有n堆果子,第i堆有ai个果子。现在要把这些果子合并成一堆,每次合并的代价是两堆果子的总果子数。求合并所有果子的最小代价。Input第一行包含一个整数T(T&lt;=50),表...

2018-07-13 12:57:53 140

原创 1341: String and Arrays

1341: String and Arrays     Time Limit: 1 Sec    Memory Limit: 128 Mb    Submitted: 794    Solved: 186    Description    有一个N*N的字符矩阵,从上到下依次记为第1行,第2行,……,第N行,从左至右依次记为第1列,第2列,……,第N列。    对于这个矩阵会进行一系列...

2018-07-13 12:50:05 100

空空如也

空空如也

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

TA关注的人

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