![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 69
窗边的倒影
一日三省
展开
-
Sicily 1020. Big Integer
/*大数求余,模拟手算 *//*Run Time: 0.04secsRun Memory: 312KB*/#include #include using namespace std;//大数求余 int computMod(string longInt, int num){ int ten = 0; for(int i=0; i<longInt原创 2013-01-03 19:32:09 · 423 阅读 · 0 评论 -
Sicily 1515. 魔版C[Speical judge]
/*只不过是对1151的初始状态和ABC变换进行修改罢了 *//*Run Time: 0.12secsRun Memory: 964KB*/#include #include #include //memset初始化 #include #include using namespace std;typedef struct Node{ int nod原创 2013-01-03 19:42:44 · 545 阅读 · 0 评论 -
Sicily 1007. To and Fro
/*简单的数组下标操作做的时候最好在草稿纸上列举实例走流程以免思维错误 *//*Run Time: 0secsRun Memory: 312KB*/#include #include using namespace std;int col; //2-20int row;string input; //1-200int main(){ wh原创 2013-01-03 19:43:32 · 776 阅读 · 0 评论 -
Sicily 1006. Team Rankings
/*给定n个五元序列,找出离这五个序列的距离和最小的序列 注意:自定义的结构体在进行排序时,记得写cmp函数 注意:使用next_permutation()方法获取全排列,逐个逐个与输入的序列组合进行距离计算在单个距离计算时,分别将其ABCDE映射到两个map,比较任两个位置,如果大小关系不一致则说明距离+1 *//*Run Time: 0.02secsRun Memory: 3原创 2013-01-03 19:45:53 · 745 阅读 · 0 评论 -
Sicily 1152 简单的马周游问题[Speical judge]
/*马周游,深度为29的深搜直接进行深搜的话半天都出不了结果,需要对可到达的所有点进行优先级排序排序标准是这个点的可到达数,可到达数越少的点要优先到达 *//*Run Time: 0secsRun Memory: 312KB*/#include #include //sort等 #include //memset初始化 #include using原创 2013-01-05 17:21:17 · 728 阅读 · 0 评论 -
Sicily 1093 Air Express
/*按照题意操作即可,把重量一直增加到 w3+1 为止 *//*Run Time: 0secsRun Memory: 312KB*/#include #include using namespace std;int rate[5]; //{0, r1, r2, r3, r4}int weight[4]; //{0, w1, w2, w3}vector pack原创 2013-01-05 17:26:49 · 798 阅读 · 0 评论 -
Sicily 1153 马的周游问题[Speical judge]
/*只是比1152棋盘更大了,为了可扩展性,将棋盘大小定义为常量 *//*Run Time: 0secsRun Memory: 312KB*/#include #include //sort等 #include //memset初始化 #include #define XXX 8 //棋盘行数 #define YYY 8 //棋盘列数原创 2013-01-05 17:22:46 · 548 阅读 · 0 评论 -
Sicily 1134 积木分发
/*把所有孩子按照需要积木的量从小到大排序,依次加上歌星手里的积木即可还以为用long会不够精度,结果居然过了 *//*Passed all 4 test casesRun Time: 0.31secsRun Memory: 444KB*/#include #include //sort等 #include using namespace std;type原创 2013-01-05 17:27:47 · 616 阅读 · 0 评论 -
Sicily 1438 Shopaholic
/*【题目大意】购物狂买东西,买三个给两个钱,每次付款商店都会以最便宜的作为送的你要做的就是帮她尽量省钱【解题思路】简单题,从大到小排个序,隔两个取一个就好了 *//*Run Time: 0.12secsRun Memory原创 2013-01-05 21:17:02 · 813 阅读 · 0 评论 -
Sicily 1029. Rabbit
/*【题目大意】一对兔子每个月可以产两只小兔子,小兔子过了m个月可以长大,兔子不会死,求d个月之后兔子的总数 【解题思路】 不可生育的兔子用数组存储,高精度加法*//*Run Time: 0.06secsRun Memory: 312KB*/#include #include using namespace std;int m; //兔子长大需要的时间 1-10i原创 2013-01-05 22:21:24 · 528 阅读 · 0 评论 -
Sicily 1381. a*b
/*【题目大意】高精度乘法 【解题思路】直接把1129制造出来的大数加法用过来:1、多位数乘一位数,可以直接使用加法完成。2、多位数乘形如d*10n的数,可以转换成多位数乘一位数来处理。3、多位数乘多位数,可以转换为若干个“多位数乘形如d*10n的数与多位数乘一位数”之和。因此,多位数乘多位数最终可以全部用加法来实现,专门另外写乘法什么的···何必如此想不开呢··· *//*原创 2013-01-06 11:52:40 · 597 阅读 · 0 评论 -
Sicily 1028 Hanoi Tower Sequence
/*【题目大意】汉诺塔,将其移动的每一步的盘号列出作为序列,求第p步需要移动的盘的盘号序列如下:1, 2, 1, 3, 1, 2, 1, 4, 1, 2, 1, 3, 1, 2, 1.... 【解决方案】输入的p将达到10^100,使用string接收 注意每个case之间要多一个空行 1、移动盘子的规律:把前n-1个盘子移到二号柱子,移动n号盘,然后再移动前n-1个盘到三好柱子即可原创 2013-01-05 21:18:11 · 1622 阅读 · 1 评论 -
高精度数值运算C++版本
/*各种基本数值运算的高精度合集,部分代码参考猥琐帝@xiehaoyun2012,感谢其无私奉献的精神 包括: 两个高精度正整数加法 两个高精度正整数乘法 两个高精度正整数减法 两个高精度正整数除法 两个高精度正整数求余 两个高精度正整数数求最大公约数 两个高精度正整数数求最小公倍数 注意:不排除还有没被发现的Bug! */原创 2013-01-10 21:06:21 · 1452 阅读 · 0 评论 -
C++多态的实现原理
转载自:http://hi.baidu.com/1021161795/blog/item/0ea7ea2ce518af414fc226ce.html1. 用virtual关键字申明的函数叫做虚函数,虚函数肯定是类的成员函数。2. 存在虚函数的类都有一个一维的虚函数表叫做虚表。类的对象有一个指向虚表开始的虚指针。虚表是和类对应的,虚表指针是和对象对应的。3. 多态性是一个接口多种转载 2013-04-18 19:23:42 · 595 阅读 · 0 评论 -
Sicily 1046. Plane Spotting
/*全部插入之后根据题目说明的规则进行排序,从大到小输出 小明很喜欢拍飞机,然后他希望在某一时间段里拍多架飞机。每个样例第一行三个数分别表示可选的连续的quarter数、小明需要的前N位最优解、小明等待的quarter数的最小值,第二行是表示每个可选的连续的quarter里面经过飞机的数目。*//*Run Time: 0.02secsRun Memory: 1472KB*/原创 2013-01-03 19:37:23 · 402 阅读 · 0 评论 -
Sicily 1024. Magic Island
/*树的遍历,寻找最深的节点 注意在初始化的时候得清理所有的空间 *//*Run Time: 0.35secsRun Memory: 1296KB*/#include #include using namespace std;typedef struct Bridge{ int dest; //该桥目的地 int id; //该桥id,原创 2013-01-03 19:52:21 · 697 阅读 · 0 评论 -
Sicily 1156. Binary tree
/*简单的二叉树前序遍历,将节点封装好按照id存入数组即可遍历之前需要找到根节点,可以像这样子做个父节点数组,也可以在输入时就推算根节点 *//*Run Time: 0secsRun Memory: 332KB*/#include #include //memset初始化 using namespace std;typedef struct Point{原创 2013-01-03 19:50:06 · 526 阅读 · 0 评论 -
Sicily 1035. DNA matching
/*DNA配对,简单的搜索删除而已,一边插入一边就在判断(正反序均判断) *//*Run Time: 0secsRun Memory: 312KB*/#include #include #include using namespace std;int N; //1-100string lists[101];set pool;int num;//获取一个原创 2013-01-03 19:36:22 · 791 阅读 · 0 评论 -
Sicily 1009. Mersenne Composite N
/*梅森素数,将乘数递归调用求乘子函数,最终可以得到其所有质数乘数再将其排序输出即可 *//*Run Time: 0.03secsRun Memory: 312KB*/#include #include #include #include using namespace std;long long list[] = {2, 3, 5, 7, 11, 13, 17,原创 2013-01-03 19:46:28 · 1542 阅读 · 0 评论 -
Sicily 1063. Who's the Boss
/*全部雇员都计算一遍之后在进行query,应该有更快的方法吧 *//*Run Time: 0.7secsRun Memory: 20812KB*/#include #include #include using namespace std;typedef struct Emp{ int id; //员工id,六位,唯一 int原创 2013-01-03 19:50:48 · 970 阅读 · 0 评论 -
Sicily 1027. MJ, Nowhere to Hide
/*使用map可以轻松完成的寻找马甲的题目 注意!记得题目最后要求要在每一个case后面输出一个空行!注意!记得include头文件!某些编译器不需要头文件照样跑函数,但是在sicily上就是A不了,例如algorithm *//*Run Time: 0secsRun Memory: 312KB*/#include #include #i原创 2013-01-03 19:34:31 · 507 阅读 · 0 评论 -
Sicily 1021. Couples
/*寻找couple,类似括号匹配,利用栈解决,注意输入的位置是从1开始的,最后只要栈空即代表成功 另:每一个case之后都要记得初始化数据 另;对容器进行操作之前记得检查是否为空 *//*Passed all 2 test casesRun Time: 0.18secsRun Memory: 1488KB*/#include #i原创 2013-01-03 19:33:28 · 490 阅读 · 0 评论 -
Sicily 1051. Biker's Trip Odomete
/*简单的求周长乘以转数得到总长,除以时间得到均速重点在于精度控制,小数点后两位 *//*Run Time: 0secsRun Memory: 312KB*/#include #include using namespace std;double pi = 3.1415927;double mile = 5280 * 12; //5280 feet =原创 2013-01-03 19:38:15 · 746 阅读 · 0 评论 -
Sicily 1151. 魔板[Speical judge]
/*相对于1150,这一题需要在细节上节省更多时间,包括以下几点:1、string的处理效率太低,此处使用int数组存储数据, 也可以直接使用int,但在进行ABC转换时就需要进行乘除法, 会浪费很多时间,相对来说对数组的操作更快 而且重点在于,使用数组时对ABC操作的修改更为方便 2、使用康拓展开进行哈希操作,构建哈希表进行快速查询 *//*Run Time: 0原创 2013-01-03 19:41:59 · 557 阅读 · 0 评论 -
Sicily 1036. Crypto Columns
/*注意!把一维数组当成二维数组使用时,要严格注意num = x*colNum + y 注意!所谓的密码转换关系别搞反了 *//*Run Time: 0secsRun Memory: 312KB*/#include #include #include #include using namespace std;string key;string text;int原创 2013-01-03 19:44:37 · 711 阅读 · 0 评论 -
Sicily 1443. Printer Queue
/*直接按照题意一步步操作即可 *//*Run Time: 0secsRun Memory: 312KB*/#include #include //memset初始化 #include using namespace std;typedef struct Job{ int key; int flag;}; int n, m;queue原创 2013-01-03 19:49:28 · 651 阅读 · 0 评论 -
删除文件的Java小程序
package com.feng;import java.io.File;public class DeleteFiles { /** * @param args */ public static void main(String[] args) throws Exception{ long a = System.currentTimeMillis(); Fil原创 2013-01-04 10:38:36 · 512 阅读 · 0 评论 -
Sicily 1150. 简单魔板[Speical judge]
/*使用队列即可处理注意!char[]转换string时需要增加一位'\0',否则将导致赋值出错,该'\0'不会被计入string的length中 注意!这里的步数是以树的层次来决定的,不是操作的步数 *//*Run Time: 0secsRun Memory: 312KB*/#include #include #include #include using name原创 2013-01-03 19:40:45 · 851 阅读 · 0 评论 -
Sicily 1176. Two Ends
/*两头取数,玩家2固定使用贪心法,玩家1要想办法获取最高分 牵扯到动态规划 存储所有可能的运算结果:如果x+1 == y则:(x,y) = MAX(list[x], list[y])否则:(x,y)=MAX[(x,y-2), (x+1,y-1), (x+2,y)],事实上也就是选择两种选择的高者 *//*Run Time: 0.02secsRun Memory: 4232KB原创 2013-01-03 19:38:46 · 1014 阅读 · 0 评论 -
Sicily 1198. Substring
/*八个串排出最小字典序(8!枚举) 单纯地对子字符串进行排序是不行的,直接比较大小会忽略掉组合后因长度不同而产生的问题。例如是b和ba,b比ba小,但组合起来后,bba却比bab大。所以,对于子字符串s1和s2,此题的关键不在于s1和s2的大小关系,而在于s1+s2和s2+s1的大小关系*//*Run Time: 0secsRun Memory: 312KB*/#inclu原创 2013-01-03 19:39:30 · 586 阅读 · 0 评论 -
Sicily 1050. Numbers & Letters
版本1:/*回溯思路是这样的,5个数,先任意找2个数进行加减乘除,把这2个数运算后的结果当做一个数,按相同的方法搜下去 把4个数任取2个然后合并成3个,再继续搜下去 注意!!无论是除法还是求余,都要先检查是否为0 注意!!此题的 + - * / 一共有五个选择,减法有两种,必须加上注意!!被注释掉的那一部分results记录方法是不能用的,不知道为什么会产生runtime err原创 2013-01-03 19:48:51 · 588 阅读 · 0 评论 -
C++学习笔记汇总
算法课上完了,整理一下C++的一些使用上的经验技巧,该总结主要参考了以下文章/网站,首先对他们的工作成果表示感谢!1、 @mannhello的文章:c++容器简介与比较2、 原作者未知的文章:C++中几个容器的比较3、 神一般的C++库函数资料网站:www.cplusplus.com,总结超级全面的,很值得一看 再次对他们的工作成果表示感谢! 如果发现任何错漏原创 2013-01-19 14:59:28 · 1235 阅读 · 0 评论