
C++
文章平均质量分 61
下一秒升华
重新捡起荒废已久的博客...
展开
-
C++中结构体数据的文件读写
结构体中数据有很多类型。class Goods{protected: char goods_name[50]; //商品名称 int goods_number; //商品代码 char person_name[30]; //经办人 int price; //进货价 int amount; //库存量 Goods *next;//定义指向类Goods的指针变量nextpublic:原创 2014-12-22 15:49:53 · 2646 阅读 · 0 评论 -
hdu 3308 线段树+区间合并
#include #include #include #include #include #include #include #include #include using namespace std;typedef long long ll;#define lson l , m , rt << 1#define rson m + 1 , r , rt << 1 | 1c原创 2015-11-01 16:31:13 · 323 阅读 · 0 评论 -
数字各位相加的规律
给出一个数,12345.现在有一个操作12345=>1+2+3+4+5=15=>1+5=6.则f(12345)=6该操作总结为:不断将各个数字相加,知道变成个位数。用模拟比较耗时,用公式可以O(1)得到f(n)=(n-1)%9+1原创 2015-11-04 20:36:41 · 3151 阅读 · 0 评论 -
hdu 4501 多维背包
直接将01背包搬到多维背包不能想当然,有两个细节需要注意下。1.多个限制条件不能直接放到for循环中限制,因为各个状态是相互不限制的,放到for循环变量中限制是与的关系,放到{}中的限制是或的关系。错位代码:for(int i=0;i<n;i++) for(int j=v1;j>=a[i];j--) for(int p=v2;p>原创 2015-08-02 12:33:07 · 590 阅读 · 0 评论 -
从一道题目看蓝桥杯与ACM的区别
我不讨论蓝桥杯的好坏,也不吹捧acm,就从一道题目来看两者的区别。当然我并不是用前者的一道简单题和World final的真题来进行比较,不然就没有意义了,这篇博客的意义就在于前者和后者思考问题思路的不同之处。废话说完,看题。蓝桥杯某题:一副扑克牌,去掉大小王,剩52张牌,均分给4人,每人13张牌,若不计花色,则这13张牌的可能序列有多少种?-->这原本是一道经典的多重集组合问题,用dp求解(原创 2015-06-06 00:46:25 · 14095 阅读 · 2 评论 -
hihocoder 1122 二分图进阶
之前遇到的二分图问题,都有一个特点,即严格的区分了左右点集,这样形成了一个严格意义的二分图,而最近遇到一些并不可以准确区分左右点集的二分图,以此题为例记录一下新的解法。方法还是 匈牙利算法 ,主要就是用一个vector来记录每个点相关的点,而不是直接连边,听某王说也可以添加边集数组来解,其实vector就可以理解为边集数组。至于hihocoder前几的大牛以及度娘的解法,也可以使用bfs来寻找之前原创 2015-04-29 20:05:17 · 516 阅读 · 0 评论 -
最短路模板 Dijkstra+Floyd+SPFA
Dijkstra和Floyd时要注意重边。Dijkstra#define inf 0x3fffffff#define M 105int dist[M], map[M][M], n;bool mark[M];void init (){ int i, j; for (i = 1; i <= n; i++) //i==j的时候也可以初始化为0,只是有时候不合适 for (转载 2015-04-07 19:30:15 · 472 阅读 · 0 评论 -
C语言修改注册表
windows中命令行(cmd)想必大家都不陌生,而c语言中#include提供了一个函数:system(),可以调用命令行的一些操作。举个例子:win+R打开运行,输出cmd,打开命令行。输入指令1:shutdown -s -t 300这个操作是让计算机在300s后自动关机,而在c语言中是这样:#includeint main(){ system("shutdown -s原创 2014-12-28 15:28:10 · 5612 阅读 · 1 评论 -
关于链表的C++文件读写
课程设计时需要构建一个商品表,我使用的是一个链表来存储一个个商品,那么在过程中需要将信息存储进文件,再从文件读取到内存的链表中。思路不是很难,但是还是卡在了一些细节上。细节1:存储1~n个商品时,在最后一个商品及n商品时,在文件末尾会多一个换行符,这个换行符会影响到文件的读写操作。细节2:链表的每个商品信息在读取时都需要动态分配内存,以及一些指针的操作问题。(平时只注重于算法的学习了,原创 2014-12-23 21:46:24 · 9214 阅读 · 0 评论 -
线段树 成段更新区间操作
poj一道区间更新的裸体,区间加值。#include #include #include #include #include using namespace std;#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1const int maxn=100010;__int64 sum[maxn<<2];__int64 lazy[m原创 2015-01-31 16:55:02 · 473 阅读 · 0 评论 -
C++ 快速幂取模+大数相乘取模
ll qmul(ll x, ll y, ll mod) // 乘法防止溢出, 如果p * p不爆LL的话可以直接乘; O(1)乘法或者转化成二进制加法(快速加){ ll ret = 0; while(y) { if(y & 1) ret = (ret + x) % mod; x = x * 2 % mod;原创 2016-05-04 21:43:18 · 8029 阅读 · 1 评论