- 博客(13)
- 收藏
- 关注
转载 浅析求素数算法
注意: 如果没有特殊说明, 以下讨论的都是针对n为素数时的时间复杂度 1. 根据概念判断: 如果一个正整数只有两个因子, 1和p,则称p为素数. 代码: bool isPrime(int n) { if(n < 2) return false; for(int i = 2; i < n; ++i) if(n%i == 0) return fa
2016-02-28 22:25:01 762
原创 宽搜 (bfs)Dungeon Master+关于素数的求解(sqrt(n))
关于素数:一直WR,一直WR原来求素数的时候没有写 for(int i = 2; i*i if(n % i == 0) 不是素数 break; #include #include #include #include #include #include #include #include #include #include #include using names
2016-02-28 22:21:38 473
原创 三维搜索(bfs)Dungeon Master
1.学会开三维数组保存空间的状态 2.会用bfs搜索空间 3.还有学会结构体的构造函数 struct node { int vx, vy, vz; node( int x, int y, int y) : vx(x), vy(y), vy(z) { } }; Description You are trapped in a 3D dungeon and need to f
2016-02-25 17:14:29 852
原创 CodeForces 593A 2Char(暴力枚举26个字母的组合)
没有想到暴力26个字母组合的情况!因为26*26完全可以暴力,记住 Description Andrew often reads articles in his favorite magazine 2Char. The main feature of these articles is that each of them uses at most two distinct lett
2016-02-23 21:30:04 888
原创 并查集入门笔记
1.并查集三个操作 |------初始化(par[i]保存根节点的键值) |-------合并(集合) |-------查询(是否在同一集合) 2.注意退化的情况,会是复杂度增高,用rak[]数组记录树的高度,每次合并两个树的时候都把深度小的数合并到深度大的树上 3.注意每次使用并查集都要给并查集par[]初始化(void init(int n)); 函数:
2016-02-23 21:26:01 387
原创 HDU 4006 The kth great number(优先队列)
第K大的数,我也是醉了,刚开始不能理解第k大的数,一直认为1,2,3这几个三大的数是3啊。真是愚蠢之极啊!!!3最大,3是第一大。 然后用一般方法会超时,所以用priority_queue, greater > pq;优先队列,更改了排序为逆序用greater,默认正序排序less Description Xiao Ming and Xiao Bao are playing a
2016-02-22 17:39:52 337
原创 CodeForces 567C Geometric Progression
经历了一番波折之后终于A了,爽, 有收获 产生的疑惑:1. 刚做的时候看了样例怎么也搞不明白第一个样例和第三个样例这不是明显的矛盾吗?后来观察了样例3才明白,等比数列的公比为k的时候,数列元素不一定是看k的倍数。题目理解偏差啊。 2.问了自己一下n为2*100000, 暴力的话能过吗?悬,不妨试一发,TLE,我的预算还是准确的。 3.怎么优化呢。后来想到预处理,学会了用map数据结构保存ai
2016-02-21 23:14:25 731
原创 动态规划算法入门
一、基本概念 动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。 二、基本思想与策略 基本思想与分治法类似,也是将待求解的问题分解为若干个子问题(阶段),按顺序求解子阶段,前一子问题的解,为后一子问题的求解提供了有用的信息。在求解任一子问题时,列出各种可能
2016-02-19 16:58:40 540
原创 CodeForces 604B More Cowbell
因为读错题没有思路,没能正确求解。题目中说一个箱子最多能装俩,我却没看到。 Description Kevin Sun wants to move his precious collection of n cowbells from Naperthrill to Exeter, where there is actually grass instead of corn. Before mo
2016-02-18 19:54:47 452
原创 CodeForces 600B 二分
输入数组A和B,要求输出数组A中比B[i]小的数的个数。 感受:做的时候想想暴力肯定超时,然后就预处理,谁知开错了数组,runtime error, 数组访问越界的错误,才知道开错了内存。然后就想着另开数组分别保存位置和数量,最后直接搜索求解,这种方法也不好,非正解。队长教的。用二分:upper_bound(A, A+N, B[i])- A;返回大于B[i]按照正序应存放的地址,取地址后是下标
2016-02-18 19:51:38 860
原创 CodeForces 610 B - Harmony Analysis
Description Vika has n jars with paints of distinct colors. All the jars are numbered from 1 to n and the i-th jar contains ai liters of paint of color i. Vika also has an infinitely long recta
2016-02-16 20:04:11 468
原创 蓝桥杯基础练习 十进制转十六进制 读题漏了条件
十进制转十六进制我也是醉了,得了90分,很是纳闷,下载了输入输出文件后才知道原来题目中输入的a的取值范围是02147483647;原来还有0,有错误就做题吧。 当你认为算法和程序都对的时候,当你不知道错哪儿的时候,也许是最不值得注意的地方错了。 问题描述 十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,
2016-02-16 19:56:52 716
原创 BFS 宽搜 B题 - Igor In the Museum
题意是一个人去参观画室,每一块空地和一个墙之间都有一幅画,给你这个人在空地的位置,他可以到处走动,问此人最多能看到多少幅画。 我说说我解这个题的过程:起初没考虑时间复杂度,直接用BFS搜索,然后TLE了,然后一看如果有10W个指令, 不超时才怪。然后想到先保存查询的状态然后查询结果就行。然后又Runtime error in test 11. 这是什么鬼错误,原来是内存溢出,检查一下原来分配点空
2016-02-05 16:59:39 704
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人