自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Grit_ICPC的博客

凡物之骤为之而追成焉者,其器小也;物之一览而易尽者,其中无有也

  • 博客(25)
  • 资源 (4)
  • 收藏
  • 关注

原创 KMP的next[]的求解方法

http://wenku.baidu.com/link?url=giJqnvsvpuiJf8t8q50xyYW0vEhUgITo52tWMgErtwijZIWCK_XWlylHoxbRzU_E-8SkBvEvI_sViAneSY6es1SxayDSc9FyjlEp50Cp1Oy

2015-12-30 15:34:52 505

原创 计算机学院大学生程序设计竞赛(2015’12)(STL )

题目意思理解错了- -! 不是每个宝盒对应的珠宝的和的价值的绝对值最小而是每个珠宝的。。。 那么,直接就是枚举每个珠宝应该放入的宝盒就可以。但是查找的时候直接用STL中的lower_bound就可以(例如: r=lower_bound(b,b+m,a[i])-b它查找的是第一个大于等于a[i]的第一位置 (这是在普通的数组中,要是在set等容器中不需要b,b+m和-b等运算)如果所有元素都小

2015-12-30 11:17:26 574

原创 杭州电子科技大学计算机学院大学生程序设计竞赛(2015'12)Bitwise Equations (二进制)

刚开始这道题,想有什么优化的方法结果然并卵。。。想了一下二进制,但是是看的规律也没有发现什么- -。 之后才知道,如果满足X+Y=X|Y。必须是在X的二进制位置为0上对应的Y的二进制的位置上 必须为1。才会满足此公式 如果二进制位置上同时为1的话,必然不会满足此公式。所以先统计X上的每位数字提取出来。同样的方法将K二进制数也分离。那么在X 中为0的位置插入k的值即可,所以到最后直接统计最后C数

2015-12-30 10:09:34 2026

原创 二进制运算

~n=-n-1; n|n=n; n^n=0;

2015-12-29 21:16:41 467

原创 c++中文件的读写(从一个文件读到另一个文件)

#include//.h #include using namespace std; class uer { public: string name,pwd; void save(string s) { ofstream out; out.open("data.txt",ios::app); out<<s<<endl

2015-12-28 20:21:08 2044 1

原创 B. Vika and Squares 610B(贪心)

看到这题首先想到的肯定是与最小值有关的,然后就是ans=min*n+X; 再确定一下X的值的问题也就是让X尽可能的大,那么X的值要怎么来。由于这是个循环的数列,所以可以将数组以及输入的数均扩大二倍。再找到两个相邻最小值间的最大距离就可以。也就是X。 #include #include #include #include #include #include #include #inclu

2015-12-28 17:15:36 484

原创 数据结构实验之排序七:选课名单

数据结构实验之排序七:选课名单 Time Limit: 1000MS Memory limit: 65536K 题目描述 随着学校规模的扩大,学生人数急剧增加,选课名单的输出也成为一个繁重的任务,我校目前有在校生3万多名,两千多门课程,请根据给定的学生选课清单输出每门课的选课学生名单。 输入 输入第一行给出两个正整数N( N ≤ 350

2015-12-27 19:01:45 479

原创 数据结构实验之排序四:寻找大富翁(堆排序)

数据结构实验之排序四:寻找大富翁 Time Limit: 150MS Memory limit: 512K 题目描述 2015胡润全球财富榜调查显示,个人资产在1000万以上的高净值人群达到200万人,假设给出N个人的个人资产值,请你快速找出排前M位的大富翁。 输入 首先输入两个正整数N( N ≤ 10^6)和M(M ≤ 10),其

2015-12-27 16:10:00 1018

原创 SDUT 数据结构实验之排序六:希尔排序

数据结构实验之排序六:希尔排序 Time Limit: 1000MS Memory limit: 65536K 题目描述 我们已经学习了各种排序方法,知道在不同的情况下要选择不同的排序算法,以期达到最好的排序效率;对于待排序数据来说,若数据基本有序且记录较少时, 直接插入排序的效率是非常好的,希尔排序就是针对一组基本有序的少量数据记录进行排序的高效算法。你

2015-12-27 14:48:57 500

原创 得到

#include #include #include #include #include #include #include #include #include #include #define L1 long long #define L2 __int64 #define inf 0x3f3f3f3f using namespace std; const int m1

2015-12-25 17:29:29 476

原创 SDUT 数据结构实验之排序三:bucket sort (无语题)

#include     #include     #include     #include     using namespace std;     int a[100100],cnt;     struct node     {        int tmp;     }q[100010];     int num[100100];     bool vis[10010

2015-12-25 00:07:12 439

原创 HDU 1756 Cupid's Arrow(判断点是否在任意多边形上且包括边)

就是模板题,注意在套模板的时候输入的数,要放在定义好的 Point{}内,参数分别是结构体Point定义的数组和元素。 #include #include #include #include #include #include #include #include #include #define L1 long long #define L2 __int64 #define inf 0x

2015-12-24 19:26:00 543

原创 浙江理工大学校赛 JugHard 4216(gcd)

比赛的时候没能明白这道题到底是什么意思- -! 问水在两个杯子来回的倒,并且可以倒掉,问能不能得到想要得到的水的体积。 通过分析样例可以看出,8 1 5 ,可以每次将1L的杯子倒满,然后向8L的杯子不停的倒5次。                                         5 3 4,可以先将5L的杯子倒满,然后向3L的倒,已有的3L水倒掉然后再将2L的杯子倒向刚

2015-12-21 20:32:45 983

原创 浙江理工校赛

题目大意:就是开始有2瓶酒,n个酒馆,m个排挡,走到排挡酒-1,走到酒馆酒就加倍,最后有多少种组合的方法使得酒的数目为0,并且保证最后都是排挡。 思路:1.可以用next_permutation(a,a+n)来进行枚举            2.就是直接DFS搜索,但是搜索的话还要分情况,就是区分进入排挡和酒馆。所以还要加个循环看通过哪个方向可能会达到预想的结果。   #include

2015-12-20 17:40:10 746

原创 CodeForces 304A (暴力枚举间接判另一变量)

思路:就是枚举其中的两条边,判断第三条边是不是就是应该在符合规定的范围内。 #include #include #include #include #include #include #define LL long long #define inf 0x3f3f3f3f #define ls l,mid,rt<<1 #define rs mid+1,r,rt<<1|1 #define L

2015-12-13 09:17:09 453

原创 SDUT 数据结构实验之查找二:平衡二叉树

也就主要按照排序二叉树的建立并以LL,RR,LR,RL四种方式的旋转来调整得到,AVL(二叉平衡树)。 #include #include #include #include #include using namespace std; struct AVL { int d,h; AVL*l,*r; }; int max(int a,int b) { return a>b?a

2015-12-11 15:50:24 759

原创 数据结构实验之查找三:树的种类统计 (STL)

我只想说你这题意能不能说清楚点。。- -!。害的我WA了老多。我本以为是每次都是输出相同的this is an ...的。     #include #include #include #include using namespace std; char s[10000],str[100000]; int main() { int n,m,i,j,k,l;

2015-12-11 10:42:47 890

原创 SDUT 数据结构实验之查找七:线性之哈希表

和上道题类似,就是探测的值不同,即每次都为1 2 3 4。。。而平方是+-j*j的探测。   #include using namespace std; int a[100000],ha[100000]; int main() { int n,m,i,j,k; while(~scanf("%d%d",&n,&m)) { memset(ha

2015-12-10 15:46:48 908

原创 SDUT 数据结构实验之查找五:平方之哈希表

主要注意的是当用平方法探测的时候,要每次都取余   #include #include #include #include using namespace std; int a[100000],ha[100000]; int main() { int n,m,i,j,k; while(~scanf("%d%d",&n,&m)) {

2015-12-10 14:40:41 782

原创 POJ 2352 Stars (区间建树,单点更新)

思路:刚开始自己没有想到建图的方式,参考了他人的方法明白过来,将x轴当做区间,一边查找一边更新。更新的话就是将当前的数加入到合适位置的和中去,即可。 #include #include #include #include #include #include #define LL long long #define inf 0x3f3f3f3f #define ls l,mid,rt<<1

2015-12-04 21:22:53 380

原创 POJ A Simple Problem with Integers 3468(线段树区间更新)

注意在查询的时候还要进行更新。 #include #include #include #include #include #include #define LL long long #define inf 0x3f3f3f3f #define ls l,mid,rt<<1 #define rs mid+1,r,rt<<1|1 LL n,sum[1000100],la[1000100];

2015-12-03 23:31:03 424

原创 HDU 1698 Just a Hook(线段树的区间更新《标记》)

题目大意:首先区间1-N的数都是1,然后让你把区间a-b的值改变为c; 思路:裸的区间更新。比单点更新就是多了一个标记的la[]数组,用来代表在某个区间的数需要给便成la[], 其具体的用法就是,在创建线段树的同时要la[]数组清空。在区间改变时将改变的量赋值给la[],然后把la[]数组下放 对于此题,是将所有la[]的左右孩子都直接改变为la[]的值即可。然后改变左右孩子的sum[],有

2015-12-03 20:52:14 393

原创 codeforces B - More Cowbell (贪心)

思路: 在一个箱子中最多装2个物品,那么在有n个箱子m个物品的情况下,会有n-m个箱子装两个物品,那考虑在这些需要装两个物品的箱子中,若想有最优的组合必定是最大的和最小的相组合。 #include #include #include #include #include #include #define LL long long #define inf 0x3f3f3f3f using

2015-12-03 12:20:50 453

原创 树的路径覆盖(路径的数目和节点度间的关系)

自己做题的时候没有注意节点度和路径数目之间的关系,赛后和同学沟通才知道- -。    如若是没有重复的将所有的路径都覆盖住。那么必然是从一个叶子节点经过若干节点后又到达另一个节点。 所以一条路径最多包含两个叶子,最少是一个。所以求出叶子点然后+1再ceil除2即可。   另一个又重复的话,就是S(节点度数-1)/2,最后再加1。 #include #include #inc

2015-12-02 21:17:04 1605

原创 NYOJ 214 最长上升子序列加强版(二分+dp)

对于数值范围较大的n求解最长上升序列,用暴力比较肯定不行。那么我们可以用一个dp数组来对这个最长的序列进行标示,其下标代表最长上升序列,dp[top]的值代表满足长度为top的数的最小值。然后依次遍历整个数组a[i]。并且查找a[i],所在dp[]中的位置,返回l,代表a[i]在dp[]中的上升序列值。找到一个和dp[]中相等或小于dp[l]的位置直接将该位置的值赋成a[],然后比较当前的最大长度

2015-12-02 16:59:20 441

orecal考试试题

Orecal的JAVA证书考试原题,需要的同志建议看一下!!

2018-11-03

rar密码破解

密码破解

2017-06-23

根据浏览器宽度调整布局

根据浏览器宽度调整布局

2016-04-13

压缩录频软件

录频软件,简单易操作,画质较好,方便快捷

2015-12-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除