![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ACM
文章平均质量分 70
ilvseyinfu
http://qdujl.com
https://github.com/ilvseyinfu
展开
-
vector初学
# include# include# include# includeusing namespace std;int main(){ int i,n; vector v; vector::iterator it; //声明一个vector 迭代器 for(int i=0 ;i<10 ;i++) { scanf("%d",&n)原创 2015-11-06 11:16:07 · 308 阅读 · 0 评论 -
HDU 2064 汉诺塔III
假设 :将n层汉诺塔 从A移动到B到C 需要f(n) 步 ,将n-1层则需要f(n-1) 步 ;那么开始移动 :假设将n-1层移动到C 用了f(n-1)步 ,然后移动第n层 到B ,再将n-1层移动到A ,再将第n层移动到C ,再将n-1层移动到C ,共用了 3*f(n-1)+2;则 可列出方程式 : f(n)=3*f(n-1)+2又由已知条件可知 :当n =1原创 2015-10-05 21:27:05 · 289 阅读 · 0 评论 -
简谈sort排序
//在做题中,常常需要排序,学习下sort排序//常用头文件 # include// # include//还有就是使用 using namespace std;// 注意调用sort的三种方法 无第三参数,参数为自定义比较函数地址,直接调用less()//less 从小到大 ,greater 从大到小// 比较函数中 > 为降序 #原创 2015-10-07 17:59:33 · 315 阅读 · 0 评论 -
QDU 第二次月赛 求最大值
用数组 b[] 来将数组a[]转化,即为求最大子列的问题。# includeint a[100010];int b[100010];int main(){int num,n;int i,temp,maxx;scanf("%d",&num);while(num--){ scanf("%d",&n); for(i=0;i原创 2015-10-13 18:08:37 · 397 阅读 · 0 评论 -
nyoj 523 密室逃亡
ac 代码...# include# include# include# include# includeusing namespace std;int map[60][60][60];int vis[60][60][60];int fx[6][3]={{0,0,1},{0,0,-1},{0,1,0},{0,-1,0},{1,0,0},{-1,0,0}};原创 2015-10-30 21:48:42 · 459 阅读 · 0 评论 -
跨年快乐
# includeint main(){printf("波兄,跨年快乐\n ");}原创 2015-12-31 19:54:07 · 324 阅读 · 0 评论 -
快速排序
河狸家技术面,第一问手写快排,没弄出来,惭愧。从北京赶回来立刻查缺补漏。快速排序大一就接触了,只可惜之后一直调STL库,已经忘记了底层是如何实现的。# includevoid qsort(int *a,int left,int right){ if(left >right){ return ; } int i,j,temp;原创 2017-09-24 20:33:49 · 158 阅读 · 0 评论 -
三个简单的排序方法
回顾下之前学过的排序算法,三种简单排序#include#include#includeint a[5] = {3,5,1,4,2};void xzsort(int *a,int length){ for(int i= 0;i<length ;i++){ int min = a[i]; int flag = i; int tem原创 2017-09-16 16:31:08 · 234 阅读 · 0 评论 -
背包问题
NYOJ 水题,今天不想复习了,刷刷题,熟悉下基本的数据结构和算法把 #include #include #include #include using namespace std; struct node{ int v; int w; }a[15]; bool cmp(struct node x,s原创 2017-09-18 15:29:04 · 320 阅读 · 0 评论 -
会场的安排
上来没多想,用起始时间排序,处理,打印,测试数据通过,运行wa自己模拟数据:0-152-35- 9 10- 11这样就只能安排一场,尴尬,赶紧用结束时间排2-35-910-110-15正解。。。。。。耻辱 #include #include #include using namespace std; struc原创 2017-09-18 16:00:29 · 326 阅读 · 0 评论 -
喷水装置(一)
#include#include#include#include#includeusing namespace std;double a[601];int main(){ int n,m,flag; scanf("%d",&n); while(n--){ memset(a,0,sizeof(a)); scanf("%d",&m原创 2017-09-18 16:28:29 · 302 阅读 · 0 评论 -
交易清单(京东2016实习生真题)
此题用map,直接码:#include#include#include#includeusing namespace std;int main(){ int n,s; char c; int x,y; // 默认按键升序升序排,这样写降序排 map > smap,bmap; while(scanf("%d %d",&n,&s)!=E原创 2017-09-01 16:41:11 · 344 阅读 · 1 评论 -
BinaryTree C++
最近刷LeetCode回顾二叉树相关知识,于是想自己先把二叉树的建立以及基本操作实现一遍。#include#include#include#includeusing namespace std;struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x)原创 2017-10-07 17:52:50 · 438 阅读 · 0 评论 -
初入栈学习(一)
# include# include# define STACK_INIT_SIZE 5 //初始化栈大小# define STACKINCREMENT 2 //每次realloc增量typedef int DataType;typedef struct SqStack{ DataType *base; DataType *top;原创 2015-10-04 18:34:56 · 353 阅读 · 0 评论 -
nyoj 58 最小步数(bfs)
初入手搜索,慢慢来,学算法不能着急本题从某一点开始广搜.就是把上下左右可能的点都遍历,看看有没有合适的点,如果有,就放入队列,然后4个方向判断完成后,再从队首取出一个元素,接着进行,注意:当队列为空时,说明搜索结束仍然没有找到目标点。 这里的广搜和树的层序遍历极为相似,大家可以先看下树的层序建立,层序遍历,思路一致。# include# include# include原创 2015-10-23 10:30:32 · 337 阅读 · 0 评论 -
简易二叉树
#include #include #include #include #include using namespace std;typedef struct node *BinTree;struct node{BinTree left;BinTree right;int date;};void cengxubianli(BinTree p){ if(p==NU原创 2015-10-22 13:43:50 · 297 阅读 · 0 评论 -
nyoj 20 吝啬的国度
# include# include# include# include# includeusing namespace std;vector G[100005];int n; //n个城市int p[100005];void dfs(int u, int fa){ int d=G[u].size(); //与节点u相邻的节点数 for(int i=0 ;i<原创 2015-11-06 12:20:42 · 250 阅读 · 0 评论 -
栈实现表达式求值
#include#include#include#includeusing namespace std;int yunsuan(int a, int b, char op){ int res; if (op == '-') res = a - b; if (op == '+') res = a +b; if (op ==原创 2015-10-16 18:54:29 · 429 阅读 · 0 评论 -
数组实现循环队列(一)
# include# include# define maxsize 6using namespace std;typedef int Elementype;typedef struct node{int date[maxsize];int front;int rear;}Queue;bool Init(Queue *q){ q->front=q->rear=0;原创 2015-10-14 21:09:22 · 348 阅读 · 0 评论 -
进制转化(常用的简单转化)
注意 :二进制 0-1 八进制 0-7 十进制 0-9 十二进制 0-9 A(10) B(11) 十六进制 0-9 A(10) B(11) C(12) D(13) E(14) F(15)十进制 转化到其他进制 : 转几除几 (就记十进制到二进制的转化)二进制转化 :转化为十进制 1101(2) 1*2^0+0*2^1+原创 2015-10-06 17:47:36 · 568 阅读 · 0 评论 -
HDU2115 I LOVE THIS GAME
此题略坑。。注意输出格式还有 我发现用qsort排序后 相等的时间,名字确按字典数顺序逆这来输,百度了下sort的用法 ,发现比qsort简单,整理下发到下一篇吧 ,真是,缓缓,我的心好痛# include# include# include # includeusing namespace std;struct node{char name[20]原创 2015-10-07 17:05:27 · 272 阅读 · 0 评论 -
poj 3278 找牛
此题暴露出 广搜 还是很差.....首先是想不到用搜索 , 然后是 不知道写标记 ,要明白广搜的用法,光知道走迷宫问题要标记,这个就不标记了,哎......明早再写一遍# include# include# include# include# includeusing namespace std;int n,m;queue q;int step[100010];int vi原创 2015-10-23 21:31:54 · 566 阅读 · 0 评论 -
poj 3984 迷宫问题..
广搜....一开始我用STL 队列进行广搜 , 却发现怎么也不会找路径,仔细想想,广搜安曾遍历, 每一层的 step 都是一样的,所以无法找到路径,然后百度了下别人的代码,看到用了模拟队列写,用一个pre记录这个节点的前一个节点在哪,然后递归输出结果,自己仔细想想吧# include# include# include# include# includeusing namespac原创 2015-10-23 12:50:05 · 306 阅读 · 0 评论 -
QDU第二次月赛 简单题
描述给你一个整数数列,保证只有一个数出现过奇数次,输出它。输入多组测试数据。 每组测试数据第一行为一个整数n,代表该数列元素个数。(1 输出输出一行表示这个出现奇数次的数。从头到尾异或一遍即可,两数相同则为0,0和任何数异或还是任何数,否则超时。。。。。。# include# includeusing names原创 2015-10-13 18:11:26 · 484 阅读 · 0 评论 -
HDU 1009 老鼠吃食(贪心)
做了这么多贪心了,个人认为 贪心 最重要两点 1: 排序 (根据题意找正确的值来排,而不是随意排,排序的方法,做了此题发现sort对结构体里的double 仍能有效的排序,感觉离qsort越来越远了,此题中可以引申出一个单价来,讲单价从小到大排,其实最重要的还是把题意分析好,分析透)2:找最后的数学公式 也就是每次排完序后的操作 ,这个简单的还能弄出来,难得我也不行啦# inclu原创 2015-10-09 11:35:02 · 716 阅读 · 0 评论 -
QDU第二次月赛 排在第几个(康拓展开)
# includechar a[15];long long f(long long a){ //求阶乘 long long sum=1; int i; for(i=1;i sum=sum*i; return sum;}int cmp(int n){ //康拓展开 小于该位置的数有几个 count 就是几原创 2015-10-13 18:10:23 · 656 阅读 · 0 评论 -
HDU 1241油田问题(广搜)
八个方向 , 通过广搜次数来判断,有几个油田, 和nyoj 水池数目一样# include# include# include# includeusing namespace std;char map[110][110];int vis[110][110];int fx[8][2]={-1,-1,1,1,-1,1,1,-1,0,1,0,-1,1,0,-1,0};int ans原创 2015-10-23 20:19:48 · 716 阅读 · 0 评论 -
HDU2100 Lovekey
这道题我首先 想的是将两组字符串全都转化为十进制 ,然后将其相加,然后再将其转化为二十六进制,之后我测试实例都对但wa了,我就是试了下将测试实例数组放长,程序就无法给出正解了,代码(wa)如下:# include# includechar a[210];char b[201];char c[201];long long f(long long a,long long b){原创 2015-10-07 11:53:26 · 283 阅读 · 0 评论 -
(回顾)水池数目 &&最少步数
刷LeetCode刷到搜索,想先在nyoj上回顾两道之前做过的。 # include# include# includeusing namespace std;int n,m;int map[110][110];int fx[4][2]={0,1,0,-1,1,0,-1,0};void BFS(int x,int y){ int nx,ny; for(int原创 2017-10-02 10:04:28 · 219 阅读 · 0 评论