02 2019 档案

摘要:// #include<iostream> using namespace std; int gcd(int n,int m) { int test,t,ans; test=m; n=n%1000; ans=1; while(test){ if(test&1==1) ans=n*ans%1000; 阅读全文
posted @ 2019-02-28 16:32 Hello_World2020 阅读(149) 评论(0) 推荐(0) 编辑
摘要:分析:简单点就是求方程的解,四舍五入保留最后两位,所以要计算到最后三位, 1.枚举IRR的范围(-00,-1】V(0,++00); 注意事项:该题中函数npv(IRR)在IRR∈(-1,+∞)上是递减的,故最多有一个根; 大佬很嚣张的解答: #include<iostream> #include<c 阅读全文
posted @ 2019-02-28 11:39 Hello_World2020 阅读(630) 评论(0) 推荐(0) 编辑
摘要:在平面直角坐标系下,台球桌是一个左下角在(0,0),右上角在(L,W)的矩形。有一个球心在(x,y),半径为R的圆形母球放在台球桌上(整个球都在台球桌内)。受撞击后,球沿极角为a的射线(即:x正半轴逆时针旋转到此射线的角度为a)飞出,每次碰到球桌时均发生完全弹性碰撞(球的速率不变,反射角等于入射角) 阅读全文
posted @ 2019-02-26 17:39 Hello_World2020 阅读(770) 评论(0) 推荐(0) 编辑
摘要:我写的错误???错误的原因是超时, //rightmost digit #include<iostream> using namespace std; int main() { int n,tmp,m; cin>>n; while(n--){ cin>>m; tmp=1; m%=10; // cou 阅读全文
posted @ 2019-02-26 17:23 Hello_World2020 阅读(331) 评论(0) 推荐(0) 编辑
摘要:#include<iostream> using namespace std; int main() { int n,tmp,t,len; string s; while(cin>>s){ if(s=="0") break; len=s.length(); if(len<=2){ tmp=tmp=( 阅读全文
posted @ 2019-02-26 16:25 Hello_World2020 阅读(282) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2019-02-21 22:50 Hello_World2020 阅读(41) 评论(0) 推荐(0) 编辑
摘要:n表示长度 k表示幂数 内存超限%91 // #include<iostream> using namespace std; int test(string a){ int len=a.length(); int tag=0;//标记无循环 string str=" ",arr; //测试 1... 阅读全文
posted @ 2019-02-21 18:21 Hello_World2020 阅读(195) 评论(0) 推荐(0) 编辑
摘要:考虑下面的算法来生成一个数字序列。以整数n开始。如果n为偶数,则除以2。如果n是奇数,乘以3再加1。用新值n重复此过程,n=1时终止。例如,将为n=22生成以下数字序列:22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1该算法对于每个整数n将终止于n=1(但尚未证明 阅读全文
posted @ 2019-02-21 14:50 Hello_World2020 阅读(738) 评论(0) 推荐(0) 编辑
摘要:Input 输入单组数据。 每组数据都是一个可运行的C程序的源代码。 Output 为了简化问题,只需要你找出其中关键字“if”,“while”,“for”的数量即可(数量在1000以内)。 #include <stdio.h> #include <string.h> int main(int ar 阅读全文
posted @ 2019-02-20 21:43 Hello_World2020 阅读(492) 评论(0) 推荐(0) 编辑
摘要:分析: 方案一: 从顶点出发,找到顶点权值最小minx=min(minx,c[i]) 边已经按照权值大小从小向大排列,edge[1...m] 每条边上权值 c[x]+c[y]+edge[i].w father[1...n]对点的标记,将所有点的标记都变成一个值,就实现了所有点的遍历 for(int 阅读全文
posted @ 2019-02-20 17:22 Hello_World2020 阅读(237) 评论(0) 推荐(0) 编辑
摘要:深搜: 一共有3个人,每个人有3种不同的动作,移动、举起旁边的人或扔出举起的人。所以加起来一共有9种不同的操作。 我们给这9中操作编码,分别为0~8,每次搜索都是从这8种不同的操作中选择一个操作进行下一次搜索。 搜索0,3,6时,即移动操作的时候,需要枚举他所能到达的所有地方。注意可以往前移动也可以 阅读全文
posted @ 2019-02-20 14:03 Hello_World2020 阅读(184) 评论(0) 推荐(0) 编辑
摘要:一:Perm算法 递归实现 #include <iostream> #include <cstring> using namespace std; int sum=0; template <class Type> inline void Swap(Type &a, Type &b) { Type t 阅读全文
posted @ 2019-02-20 13:54 Hello_World2020 阅读(207) 评论(0) 推荐(0) 编辑
摘要:技巧一:消去二进制最后一位数字1 公式: x & (x-1) 检测整数n是否为2的幂次,如果N是2的幂次,那么N&(N-1)得到结果为0,即可判断。 //检测整数n是否为2的幂次 #include<iostream> using namespace std; int main() { int n; 阅读全文
posted @ 2019-02-20 10:42 Hello_World2020 阅读(192) 评论(0) 推荐(0) 编辑
摘要:位转换 16转8 //16转8 #include <stdio.h> #include <string.h> char str[100005], num; void Fun(int i, int state) //长度 位数 { int temp; if(i < 0) { if(num != 0) 阅读全文
posted @ 2019-02-18 19:40 Hello_World2020 阅读(195) 评论(0) 推荐(0) 编辑
摘要://树形动态规划 #include<iostream> #include<vector> using namespace std; int n; int w[100000+5]={0}; int vis[100000+5]={0}; int dp[100000+5][2]={0}; vector<i 阅读全文
posted @ 2019-02-18 18:40 Hello_World2020 阅读(378) 评论(0) 推荐(0) 编辑
摘要:截取substr //string的操作 #include<iostream> using namespace std; int main() { string a,b; a="abcde"; b=a.substr(1); string c=a.substr(1,3); cout<<a<<endl; 阅读全文
posted @ 2019-02-18 17:39 Hello_World2020 阅读(184) 评论(0) 推荐(0) 编辑
摘要:十进制转换成二进制 //十进制转2进制 #include<iostream> using namespace std; int inttoBin(int num) { int i,tag=0; unsigned int mask = 0x80000000 ;//1000 0000 0000 0000 阅读全文
posted @ 2019-02-18 17:25 Hello_World2020 阅读(189) 评论(0) 推荐(0) 编辑
摘要:最大连续子数列和一道很经典的算法问题,给定一个数列,其中可能有正数也可能有负数,我们的任务是找出其中连续的一个子数列(不允许空序列),使它们的和尽可能大。 8-2 6 -1 5 4 -7 2 3第一行的8是说序列的长度是8,然后第二行有8个数字,即待计算的序列。对于这个序列,我们的答案应该是14,所 阅读全文
posted @ 2019-02-18 13:15 Hello_World2020 阅读(167) 评论(0) 推荐(0) 编辑
摘要:当两个比较大的整数相乘时,可能会出现数据溢出的情形。为避免溢出,可以采用字符串的方法来实现两个大数之间的乘法。具体来说,首先以字符串的形式输入两个整数,每个整数的长度不会超过8位,然后把它们相乘的结果存储在另一个字符串当中(长度不会超过16位),最后把这个字符串打印出来。例如,假设用户输入为:627 阅读全文
posted @ 2019-02-18 12:40 Hello_World2020 阅读(205) 评论(0) 推荐(0) 编辑
摘要:Description 题目描述: 大家知道,给出正整数n,则1到n这n个数可以构成n!种排列,把这些排列按照从小到大的顺序(字典顺序)列出,如n=3时,列出1 2 3,1 3 2,2 1 3,2 3 1,3 1 2,3 2 1六个排列。 任务描述: 给出某个排列,求出这个排列的下k个排列,如果遇到 阅读全文
posted @ 2019-02-17 09:19 Hello_World2020 阅读(1388) 评论(0) 推荐(0) 编辑
摘要:问题描述: 有一间长方形的房子,地上铺了红色、黑色两种颜色的正方形瓷砖,你站在其中一块黑色的瓷砖上,只能向相邻的黑色瓷砖移动。请你写出一个程序,计算你总共能达到多少块黑色瓷砖。 输入数据: 包括多个数据集合。每个数据集合的第一行是两个整数W和H,分别代表x方向和y方向瓷砖的数量。W和H都不超过20. 阅读全文
posted @ 2019-02-16 21:24 Hello_World2020 阅读(212) 评论(0) 推荐(0) 编辑
摘要:大家知道,给出正整数n,则1到n这n个数可以构成n!种排列,把这些排列按照从小到大的顺序(字典顺序)列出,如n=3时,列出1 2 3,1 3 2,2 1 3,2 3 1,3 1 2,3 2 1六个排列。 感谢:https://blog.csdn.net/qq_34672688/article/det 阅读全文
posted @ 2019-02-16 19:55 Hello_World2020 阅读(3453) 评论(0) 推荐(0) 编辑
摘要:问题描述 每年冬天,北大未名湖上都是滑冰的好地方。北大体育组准备了许多冰鞋,可是人太多了,每天下午收工后,常常一双冰鞋都不剩。 每天早上,租鞋窗口都会排起长龙,假设有还鞋的m个,有需要租鞋的n个。现在的问题是,这些人有多少种排法,可以避免出现体育组没有冰鞋可租的尴尬场面。(两个同样需求的人(比如都是 阅读全文
posted @ 2019-02-16 13:44 Hello_World2020 阅读(207) 评论(0) 推荐(0) 编辑
摘要:给定一个由n行数字组成的数字三角形,如下图所示: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 试设计一个算法,计算出从三角形的顶至底的一条路径,使该路径经过的数字总和最大(每一步只能从一个数走到下一层上和它最近的左边的数或者右边的数)。 /*5 7 3 8 8 1 0 2 7 4 4 阅读全文
posted @ 2019-02-16 13:16 Hello_World2020 阅读(362) 评论(0) 推荐(0) 编辑
摘要:【问题描述】一般来说一个比较安全的密码至少应该满足下面两个条件: (1).密码长度大于等于8,且不要超过16。 (2).密码中的字符应该来自下面“字符类别”中四组中的至少三组。 这四个字符类别分别为: 1.大写字母:A,B,C…Z; 2.小写字母:a,b,c…z; 3.数字:0,1,2…9; 4.特 阅读全文
posted @ 2019-02-16 11:36 Hello_World2020 阅读(850) 评论(0) 推荐(0) 编辑
摘要:回溯加递归 每一种都是新的结果,8的8次方个问题 //回溯 加递归 #include<stdio.h> int Chess[8][8]={0};//定义二维数组代表8x8棋盘 int a[8],b[15],c[15];//定义a[8]代表一竖是八行,定义b[15],c[15]代表从↗?到↙?对角线和 阅读全文
posted @ 2019-02-16 10:48 Hello_World2020 阅读(198) 评论(0) 推荐(0) 编辑
摘要:题目描述: 有一群海盗(不多于20人),在船上比拼酒量。过程如下:打开一瓶酒,所有在场的人平分喝下,有几个人倒下了。再打开一瓶酒平分,又有倒下的, 再次重复...... 直到开了第4瓶酒,坐着的已经所剩无几,海盗船长也在其中。 当第4瓶酒平分喝下后,大家都倒下了。 等船长醒来,发现海盗船搁浅了。 他 阅读全文
posted @ 2019-02-15 20:48 Hello_World2020 阅读(306) 评论(0) 推荐(0) 编辑
摘要:如果x的x次幂结果为10,你能计算出x的近似值吗? 请把x的值计算到小数后6位(四舍五入),并填写这个小数值。 float型可以表示6到7个有效数字,而double型可以表示15到16位有效数字 C++提供以下几种pow函数的重载形式:double pow(double X,int Y);float 阅读全文
posted @ 2019-02-15 20:00 Hello_World2020 阅读(229) 评论(0) 推荐(0) 编辑
摘要:1/1 + 1/2 + 1/3 + 1/4 + … 在数学上称为调和级数。 它是发散的,也就是说,只要加上足够多的项,就可以得到任意大的数字。 但是,它发散的很慢: 前1项和达到 1.0 前4项和才超过 2.0 前83项的和才超过 5.0 那么,请你计算一下,要加多少项,才能使得和达到或超过 15. 阅读全文
posted @ 2019-02-15 11:28 Hello_World2020 阅读(3024) 评论(0) 推荐(0) 编辑
摘要:用tag标记 当 *buff!=' '且tag=1时候 tag=0 num++; *buff=' ' tag=0时候tag=1 所以初始化tag=1 代码: 标准输入 fgets(buff,1000,stdin) #include<iostream> using namespace std; int 阅读全文
posted @ 2019-02-15 11:16 Hello_World2020 阅读(250) 评论(0) 推荐(0) 编辑
摘要:输入一个整数,输出n*n矩阵 输出数字范围为1到n*n, 可以看做一个一个正方形边框放置而成,边框长度为n 每一个正方形框的长度为 n为偶数时 4+4*(n-2) n为奇数时 1+4*(n-2) 代码如下: #include<iostream> using namespace std; int ma 阅读全文
posted @ 2019-02-13 20:25 Hello_World2020 阅读(542) 评论(0) 推荐(0) 编辑
摘要:1.单元单点最短路径问题 最简单的遍历从源节点S开始,相邻结点有很多, 1.1 深度优先与广度优先 深度优先搜索是一直往前走,只要前面有路,走到没有路为止 广度优先一源点为圆心画一个越来愈大的圆 dijkstra算法:不能处理负权值(效率不错) //复习dijstra算法 不能判断负权值 #incl 阅读全文
posted @ 2019-02-13 15:46 Hello_World2020 阅读(174) 评论(0) 推荐(0) 编辑
摘要:1.顺序搜索 #include<iostream> using namespace std; void search(int a[],int b,int n){ for(int i=0;i<n;i++){ if(a[i]-b==0) cout<<"位置 "<<i<<endl; } } int mai 阅读全文
posted @ 2019-02-13 14:02 Hello_World2020 阅读(570) 评论(0) 推荐(0) 编辑
摘要:随机化目的: 1.防止对手破坏,防止好人吃亏:拉斯维加斯算法 2.解决确定性算法不能解决的问题:蒙特卡罗算法 一、拉斯维加斯算法,为了保证公平,不免浪费点时间 1.永远产生正确的答案, 2.通常情况下算法效率不错,有时很慢 基本思路:产生一个合适的随机数,然后根据随机数的取值决定下一步的行动(随机化 阅读全文
posted @ 2019-02-12 20:11 Hello_World2020 阅读(228) 评论(0) 推荐(0) 编辑
摘要:通常用树的双亲作为并查集的存储结构,每个集合以一棵树表示,数组元素的下标代表元素名称,根节点的双亲指针为负数 并查集(Union-Find set)这个数据结构可以方便快速的解决这个问题。基本的处理思想是:初始时把每个对象看作是一个单元素集合;然后依次按顺序读入联通边,将连通边中的两个元素合并。在此 阅读全文
posted @ 2019-02-12 13:46 Hello_World2020 阅读(181) 评论(0) 推荐(0) 编辑
摘要:对计算机进行组网,需要在不同计算机之间建立连线,目标是使所有的计算机联通,且维护成本最低。 带权无向图 G=(V,E),每条边的权重为wi 1.Prim 代码一: //手写prim 类似于dijkstra #include<iostream> #include<cstring> using name 阅读全文
posted @ 2019-02-11 15:07 Hello_World2020 阅读(209) 评论(0) 推荐(0) 编辑
摘要:测试数据 12组 12 0 3 2 5 4 7 3 8 6 10 8 10 9 11 11 15 12 15 10 13 13 17 15 18 代码: #include<iostream> #include<algorithm> using namespace std; struct sa{ in 阅读全文
posted @ 2019-02-11 14:04 Hello_World2020 阅读(211) 评论(0) 推荐(0) 编辑
摘要:代码一: //背包问题 #include<iostream> #include<vector> #include<algorithm> using namespace std; struct node{ double w; double p; double t; }; int cmp(const n 阅读全文
posted @ 2019-02-09 17:15 Hello_World2020 阅读(242) 评论(0) 推荐(0) 编辑
摘要:vector非结构体,const不要忘了 #include<iostream> #include<algorithm> #include<vector> using namespace std; bool cmp(const int &x,const int &y){ return x>y; } i 阅读全文
posted @ 2019-02-09 15:23 Hello_World2020 阅读(175) 评论(0) 推荐(0) 编辑
摘要:最长公共子序列 //最长公共子序列(个数) #include<iostream> using namespace std; int c[100][100]={0}; int len1,len2; int gcd(string a,string b){ len1=a.length(); len2=b. 阅读全文
posted @ 2019-02-09 11:31 Hello_World2020 阅读(652) 评论(1) 推荐(0) 编辑
摘要:1.自底向上与自顶向下 //自底向上 #include<iostream> using namespace std; int f[101]; int main() { int n; f[1]=1; f[2]=1; while(cin>>n){ for(int i=3;i<=n;i++){ f[i]= 阅读全文
posted @ 2019-02-07 09:49 Hello_World2020 阅读(499) 评论(0) 推荐(0) 编辑
摘要:#include<iostream> using namespace std; int migo[7][7]={ {2, 2, 2, 2, 2, 2, 2}, {2, 0, 0, 0, 0, 0, 2}, {2, 0, 2, 0, 2, 0, 2}, {2, 0, 0, 0, 0, 2, 2}, { 阅读全文
posted @ 2019-02-06 19:21 Hello_World2020 阅读(146) 评论(0) 推荐(0) 编辑
摘要:1.括号的匹配 #include<iostream> #include<stack> using namespace std; int check(string str){ stack<char> s; int len=str.length(); for(int i=0;i<len;i++){ ch 阅读全文
posted @ 2019-02-06 15:20 Hello_World2020 阅读(228) 评论(0) 推荐(1) 编辑
摘要:计数排序 假设一个数组arr[0...n] 找到最大的值max 然后新建一个数组book[0...max]={1} 遍历数组arr,arr[i]=j book[j]++ 最后遍历数组book[0...max] b[i]=b[i-1]+b[i] #include<iostream> #include< 阅读全文
posted @ 2019-02-05 22:37 Hello_World2020 阅读(305) 评论(0) 推荐(0) 编辑
摘要:类的描述分为两个部分,public和private public可以用来定义函数,对类的对象进行操作,对于用户是可见的,是用户对对象操作的唯一手段。 private部分用于定义函数和数据成员,这些函数和数据成员对于用户是看不见的 借助于public与private部分,可以让用户只看到他们需要看到的 阅读全文
posted @ 2019-02-05 16:54 Hello_World2020 阅读(818) 评论(0) 推荐(0) 编辑
摘要:1.选择排序 每一次找出最小的值,放在最前面的位置,一个一个安置 //选择排序 #include<iostream> #include<climits> using namespace std; template<class T> void gcd(T a[],int n){ int mix,tem 阅读全文
posted @ 2019-02-03 22:19 Hello_World2020 阅读(197) 评论(0) 推荐(0) 编辑
摘要:构造一个新数组,将对应位置的数字,从大到小或从小到大排序的名次存储,并输出 //计算名次 #include<iostream> #include<cstring> using namespace std; int book[101]; void rank(int *a,int n,int book[ 阅读全文
posted @ 2019-02-03 22:13 Hello_World2020 阅读(146) 评论(0) 推荐(0) 编辑
摘要:#include<iostream> using namespace std; template<class T> T ploy(T *coeff,int n,const T&x){ T value=coeff[n]; for(int i=1;i<=n;i++) value=value*x+coef 阅读全文
posted @ 2019-02-03 22:10 Hello_World2020 阅读(271) 评论(0) 推荐(0) 编辑
摘要:题目描述: 请编写一个递归函数,用来输出n个元素的所有子集。例如,三个元素{a,b,c}的所有子集是:{},{a},{b},{c},{a,c},{ac},{b,c},{a,b,c}. 解题思路: 根据子集的定义,集合中的每一个元素在子集中都有两种状态:‘1’表示出现,'0'表示不出现;如果所有的元素 阅读全文
posted @ 2019-02-02 17:32 Hello_World2020 阅读(969) 评论(0) 推荐(0) 编辑
摘要:前缀List[0...k-1], 后缀为list[k..m] (没有前缀)从第0个元素开始,起始位置list[0] 与list[0...n-1] 这N个元素交换位置,确定第0位的元素 前缀list[0] 后缀为list[1...n-1] ,将list[1]这个元素与list[2...n-1] 交换位 阅读全文
posted @ 2019-02-02 17:00 Hello_World2020 阅读(290) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示