早些年关于编程题目和C语言的杂谈
早些年关于编程题目和C语言的杂谈
nine_mink
算法,代码,语言,软件
展开
-
线分平面问题
(1) n条直线最多分平面问题题目大致如:n条直线,最多可以把平面分为多少个区域。析:可能你以前就见过这题目,这充其量是一道初中的思考题。但一个类型的题目还是从简单的入手,才容易发现规律。当有n-1条直线时,平面最多被分成了f(n-1)个区域。则第n条直线要是切成的区域数最多,就必须与每条直线相交且不能有同一交点。这样就会得到n-1个交点。这些交点将第n条直线分为2条射线和转载 2017-10-18 14:42:54 · 532 阅读 · 0 评论 -
基于贪心算法的几类区间覆盖问题
来源:http://www.cnblogs.com/dongsheng/archive/2013/04/19/3030444.html基于贪心算法的几类区间覆盖问题基于贪心算法的几类区间覆盖问题:(1)区间完全覆盖问题问题描述:给定一个长度为m的区间,再给出n条线段的起点和终点(注意这里是闭区间),求最少使用多少条线段可以将整个区间完全覆盖样例:区间长度8,可选转载 2017-10-28 21:06:27 · 354 阅读 · 0 评论 -
搞ACM的伤不起
劳资六年前开始搞ACM啊!!!!!!!!!! 从此踏上了尼玛不归路啊!!!!!!!!!!!! 谁特么跟劳资讲算法是程序设计的核心啊!!!!!! 尼玛除了面试题就没见过用算法的地方啊!!!!!! 谁再跟劳资讲算法之美算法的力量,劳资一本算法导论拍死你啊!!!!!!!! 那是搞ACM的入门书啊!!!!特么的入门书就一千多页啊!!!!!!! 还没有习题答案啊,学完了你特么都不知道转载 2018-01-20 08:47:25 · 185 阅读 · 0 评论 -
女生应该找一个会打DOTA有会玩ACM的男生当老公
打dota可以体现出男人以下美德1、强烈的事业心将来,他也一定会有自己热爱的事业。而且,男人最认真的时刻之一,就是他专心致志做事的时候。所以,找一个机会在他全神贯注玩DOTA的时候,从侧面好好观察他,你就会发现我说的话没错。2、永不放弃的精神在游戏刚开始,自己那边就有人掉线。玩Dota的男生不会退缩,而是毅然决定4V5,靠着自己对胜利的渴望,拿下一血、二血、三血N血!即使被对方推出超级兵也始终如一的原创 2017-11-23 18:46:02 · 351 阅读 · 0 评论 -
指针P
1.P、*P和&P三者的区别假设我们定义一个指针p。 那么会经常使用到三个符号: (1)p; (2)*p; (3)&p; 初学者经常会感到很迷茫,到底这三个符号表示什么? 我们知道,p是一个指针变量的名字,表示此指针变量指向的内存地址,如果使用%p来输出的话,它将是一个16进制数。而*p表示此指针指向的内存地址中存放的内容,一般是一个和指针类型一致的变量或者常量。 而我们知道,&是取地原创 2017-12-16 11:00:47 · 1066 阅读 · 0 评论 -
如何判断单链表里面是否有环?
如何判断单链表里面是否有环?算法的思想是设定两个指针p, q,其中p每次向前移动一步,q每次向前移动两步。那么如果单链表存在环,则p和q相遇;否则q将首先遇到null。 这里主要理解一个问题,就是为什么当单链表存在环时,p和q一定会相遇呢?假定单链表的长度为n,并且该单链表是环状的,那么第i次迭代时,p指向元素i mod n,q指向2i mod n。因此当i≡2i(mod n)时,p与q转载 2018-11-22 15:29:11 · 1969 阅读 · 0 评论 -
用链表实现“啦啦啦”等算法或数据结构(持续更新)
1.冒泡排序#include stdio.h>#include stdlib.h>#include string.h>#include math.h>struct node{ int data; struct node *next;}*head,*p,*q,*tail;int main(){ int i,n,t;/*---------------原创 2018-01-18 19:22:39 · 217 阅读 · 0 评论 -
开始SDUT OJ提高实验—动态规划,小总结Round#2
背包九讲,以及学OI时刷usaco的小总结目录 第一讲 01背包问题 第二讲 完全背包问题 第三讲 多重背包问题 第四讲 混合三种背包问题 第五讲 二维费用的背包问题 第六讲 分组的背包问题 第七讲 有依赖的背包问题 第八讲 泛化物品 第九讲 背包问题问法的变化 附:USACO中的背包问题原创 2017-11-26 22:48:10 · 255 阅读 · 0 评论 -
着手SDUT OJ提高实验—动态规划,之前对动态规划的复习#Round1
/**我们在#Round1里主要复习动态规划的简单例题,回忆动态规划最原始的思路,重新理解“状态”和“最优子结构”以及“后效性”这三个重要概念。例1 过河卒 SDUT OJ 1265,洛谷OJ 1002题目描述 棋盘上A点有一个过河卒,需要走到目标B点。卒行走的规则:可以向下、或者向右。同时在棋盘上C点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为“马拦过河卒”。原创 2017-11-24 21:25:31 · 335 阅读 · 0 评论 -
翻阅之前自己OI经历笔记以及最近在SDUT OJ刷题感想
风华秋月 线段树下徘徊 终不见背影 仍以为左右 却是锁住了区间 等不到流年原创 2017-11-23 17:29:34 · 395 阅读 · 0 评论 -
C语言自带的快速排序
函数名称:qsort,在头文件:#include <stdio.h>#include <stdlib.h>int cmp(const void *a,const void *b){ return *(int *)a-*(int *)b; //这是从小到大排序,若是从大到小改成: return *(int *)b-*(int *)a;}int m...原创 2018-04-04 14:07:33 · 511 阅读 · 0 评论 -
Notepad++配置C/C++、C#、Java、Python编译环境详细教程
如果只是测试小程序可以用这种方法 比较方便,如果对于大程序建议使用专业的IDE。 经常需要写一些小程序来运行,又不想运行Visual Studio、Eclipse这样的环境,而Notepad++是一个好的选择,下面介绍如何在Notepad++中配置C、C++、C#、Java、Python编译环境。首先介绍下Notepad++定义的一个变量:Notepad++定义的这些环境,可以作为参数...翻译 2018-02-11 18:45:54 · 1610 阅读 · 0 评论 -
详解线段树及C语言代码(包含lazy操作)
线段树并不是存线段的树,而是存一个区间及其子区间重要值的树,那些线段树的图片上面的线段实际上是表示的存储的哪一段区间的重要值。当需要解决的问题涉及动态更新和查找区间重要值的时候,前缀和等静态算法的时间复杂度就会直线上升,这个时候,线段树就是不错的选择。线段树的树型结构以及它精妙的lazy操作,使得线段树无论是在区间更新还是区间查找,都保持着十分优秀的log级别的时间复杂度。什么是lazy操原创 2018-01-31 17:00:17 · 2102 阅读 · 0 评论 -
C++对拍程序写法(转)
http://blog.csdn.net/code12hour/article/details/51252457对拍是什么呢?对拍就是你给两个程序,和一个随机数据生成器,然后系统去用这个随机数据生成器的输出作为你这两个程序的输入,然后比较你这两个程序的输出,可以找到一组使这两个程序输出不一样的数据(如果存在的话)怎么对拍呢?首先,新建一个文件夹,然后,在里面放入biaoda.exe,和test.ex转载 2017-12-06 15:26:04 · 5484 阅读 · 2 评论 -
C语言中字符串的大坑
【坑1】[Error] ISO C++ forbids comparison between pointer and integer [-fpermiss错误代码:if(a[i]=="G"&&b[i]!="C") return false; 改正后的代码:if(a[i]=='G'&&b[i]!='C') return false;解释:两种不同类型的数据不能做比较,a[i]表示的是一原创 2017-11-30 09:29:13 · 9037 阅读 · 0 评论 -
C language actually comes with qsort function
Quick sort is one of the most used sorting algorithm, I have detailed review before, in the C standard library actually has a quick sort function, let’s talk about the details of usage. The qsort func原创 2017-11-27 09:05:43 · 148 阅读 · 0 评论