摘要:
在写C++程序中最怕的一问题应是,程序在debug下可以正确无误的运行而在release模式下却发生内存访问的错误。最近就遇到了一个因数组引起的栈溢出问题,费了好长时间才发现。 用VS2005写程序,默认的栈大小是1M。我们在程序中的变量及静态数组都是储存在栈中的。一旦变量和静态数组的规模超过了栈的大小,就会发生栈溢出错误。如运行如下一段代码是无法成功的:#pragma once#include <iostream>using namespace std;int main() { int a[1024*256]; cerr<<"It works"&l 阅读全文
摘要:
如下demo是可以的,能把数组中的元素值都设置成字符1,#include <iostream>#include <cstring>using namespace std;int main(){ char a[5]; memset(a,'1',5); for(int i = 0;i < 5;i++) cout<<a[i]<<" "; system("pause"); return 0;}而,如下程序想吧数组中的元素值设置成1,却是不可行的#include <iostream> 阅读全文
摘要:
//刘汝佳<<算法竞赛入门经典>> 习题2-10#include <iostream>using namespace std;bool flag[10] = {false};void reFlag(){for(int j=1;j<10;++j)flag[j] = false;}bool setFlag(int p){if(flag[p/100])return false;else flag[p/100]= true;if(flag[p/10%10])return false;elseflag[p/10%10] = true;if(flag[p%10]) 阅读全文
摘要:
//题目类型:水题(数论)//解题思路:看清题意,直接推导公式即可 #include <iostream>#include <stdio.h>//#include <conio.h>#include <math.h>using namespace std;double temper,humidex,dew;void solvedew(){ dew =... 阅读全文
摘要:
1、输出double类型时,如果采用G++提交,scanf采用%lf,prinf采用%f,否则会报错2、使用GCC/G++的提醒:对于64位整数, long long int 和 __int64 都是支持并且等价的.但是在读和写的时候只支持scanf("%I64d", ...)和printf("%I64d", ...).不支持"%lld"是因为MinGW下的GCC和G++使用的msvcrt.dll... 阅读全文
摘要:
OJ上的一些水题(可用来练手和增加自信)(poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094)初期:一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法. (4)递推. (5)构造法.(poj3295) (6)模拟... 阅读全文
摘要:
1、启用来宾帐户 “控制面板-用户帐户-启用来宾帐户”。2、安装NetBEUI协议查看“网上邻居”属性——查看“本地连接”属性——点击“安装”——查看“协议”——看其中NetBEUI协... 阅读全文
摘要:
每条边有两个权值,一个费用h一个长度l,求连通整个图的最小r r=总费用/总长度r=(h1*x1+h2*x2*.....hn*xm)/(l1*x1+l2*x2+...ln*xm) 最小,其中x取0,1表示边不在或在树中直接列出两种解法:(1)二分比率r 将原图边权值修改为h-r*l ,求最小生成树,如果大于0,则可放大r,否则缩小r ,(2) 01分数规划 Dinkelbach 算法,首先任选可以... 阅读全文
摘要:
//题目类型:最大流最小割解题思路:把伞兵看成边,行列看成节点,转化为了带权二分图最小点覆盖。加入超级源点和超级汇点,源点和所有行节点相连,所有列节点和汇点相连,如果a行b列有敌人,则把节点a和节点b相连。则问题又可以转化求最小割。现在求源点和汇点之间的最小割。因为对任一敌人<a,b>,必然有source-->a-->b-->sink, 割的性质是"不存在一条从sou... 阅读全文