
acm
Seana_chao
这个作者很懒,什么都没留下…
展开
-
救济金发放的解决
救济金的问题抽象出来就是几个人围成一个圈坐,给每一个人编号,一个人从1开始,一个人从n开始,从一开始的点到k时,出列一人,n逆时针点人,点到m出列一人。如果我们出列用删除操作,则大大的降低了效率,我们将删除掉的人用0来代替,当我们遇到0时不点人。 使用两个方法来分别逆时针顺时针点人,如果是0,则跳过,每一次点相应的人数,这就涉及到我们点到第某人时,某一是0的情况,所以每一次原创 2016-12-09 22:50:07 · 1987 阅读 · 2 评论 -
c++中的string以及set容器
首先谈谈今天的string库吧,当我们声明一个string时,string s,代表着一个字符串。当然也可以直接的声明字符数组,可以直接的操作,不必向数组一样挨个输出。同时对于字符的操作求长度我们可以直接length,求长度。 对于set可以对于插入集合中的元素直接排序,排成字典序,对于集合的操作,可以string<类型>::iterator it;之后用*it来操作,就像指针一样指到相应的位置。原创 2016-12-09 23:50:44 · 5039 阅读 · 0 评论 -
欧几里得算法
欧几里得算法的核心是: 被除数和除数的公因数,与除数和其与被除数的模的公因数是相同的 设a/b=q……..r; 假设a=kc,b=tc;其中a=bq+r; kc=tc+r; (k-t)c=r; 所以c也是r的公因数。所以a与b和b与r的公因数相同,所以最大公因数也相同。所以通过辗转相除得到的也就是最大的公因数了。 #include <stdlib.h原创 2016-12-16 20:34:25 · 292 阅读 · 0 评论 -
凸包算法
凸包指的是当给定n个点的坐标时,我们可以用某几个点来将所有的点包围,形成一个凸包,这里我们采用的是Graham扫描算法。我们用一个栈来装载这几个点。 首先我们选择最低的y坐标点,如果存在多个,选择最左端的即 x坐标最小的一个点,作为标准基点,然后以此点作为基准来计算其余各点的极坐标,按照逆时针的顺序排序,如果某几点的极坐标相等,则保留距离最远的那个点,删除另外的几点。对当前的几点依次取3点进原创 2017-02-23 15:34:49 · 467 阅读 · 0 评论 -
sticks
在经历了n次的失败后,终于把这个小木棍的问题解决了,在这期间也看过好多网上的题解,但是感觉绕啊,绕的可能智商也不够用吧,不过还好自己把小木棍敲出来了,难以表达的开心。sticks 给定一些小木棍,每根木棍的长度不超过50,这些小木棍是通过几根不同长度的小木棍裁剪得到的,现在请编程求出原始木棍的最短长度。 解析 从题意我们可以得到的信息起始木棒的长度一定能够被木棒总长度整除,最原创 2017-04-03 21:22:08 · 951 阅读 · 0 评论 -
心得
Problem Description 给定一段连续的整数,求出他们中所有偶数的平方和以及所有奇数的立方和。Input 输入数据包含多组测试实例,每组测试实例包含一行,由两个整数m和n组成。Output 对于每组输入数据,输出一行,应包括两个整数x和y,分别表示该段连续的整数中所有偶数的平方和以及所有奇数的立方和。 你可以认为32位整数足以保存结果。Sample Input原创 2017-02-25 08:58:12 · 281 阅读 · 0 评论 -
谈一谈
对于while(cin>>s)它以Ctrl+D结束,在每一次的输入后,他都会继续执行while之后的语句。如果里面含有输出则输出结果,在提交的过程中,这是不符合规定的。如果进行多次循环的话,for{while(cin>>s))则要对此进行组合键结束。 在使用函数时对于结构体的函数调用,struct 相应的结构体名字 函数名 (参数1,参数2,....);可以直接返回结构体,同时结构体原创 2016-12-10 20:22:49 · 399 阅读 · 0 评论 -
OSzhihuan
蟠桃记原创 2017-06-13 15:45:00 · 402 阅读 · 0 评论