
日常OJ总结
文章平均质量分 70
谁动了我的吐司
live the way you like
展开
-
【20181209】C++求最大公约数
今天早上做了算法题,其中一道如下所示: 你需要在1s内算出答案。 题目如下: 给出正整数n,求a+b的最大值 其中a,b为正整数,a<=n且b<=n且gcd(a,b)=1 ps:gcd是最大公约数 >>>>对于50%的数据,n < 1000 >>&gt原创 2018-12-09 15:55:23 · 358 阅读 · 3 评论 -
【位运算总结】 之 异或^
前言:昨天晚上做蓝桥杯的时候,发现了一道有意思的题目。在网上查找了关于位运算的运用后,发现很有意思,因此决定把他们记录下来。异或运算的性质: 任何数字异或它自己都等于0; 0异或任何数,等于任何数; 1异或任何数,等于取反任何数。下面列出几道题目:1、异或去重 给定大小为n+1的数组,元素大小在[1 : n]之间,只有一个...原创 2019-03-03 11:16:04 · 1314 阅读 · 0 评论 -
【位运算总结】 之 与&
1、判断奇偶 一个数二进制的末位数是1,则该数是奇数,末位数是0,则该数是偶数。因此可以用 a&1 == 0来判断。 如下例:#include <iostream>using namespace std;int main(){ //输出0到100之间的所有奇数 for (int i = 0; i < 100; ++i)...原创 2019-03-03 11:38:06 · 208 阅读 · 0 评论 -
【位运算总结】 之 左移运算
左移运算的概念:左移运算符应用:1、优化代码 因为左移运算比乘法快,因此x = x*2可优化为x = x << 1。2、计算一个数的二进制的某位 如题:给定一个含不同整数的集合,返回其所有的子集。 解题思路: 假设该数组为a[n],有n个元素。对每个元素标记为1或0表示某子集内有或没有该元素,如此排列下来,000...原创 2019-03-06 19:57:01 · 5942 阅读 · 1 评论 -
蓝桥杯2018省赛 - A1分数
1/1 + 1/2 + 1/4 + 1/8 + 1/16 + ....每项是前一项的一半,如果一共有20项,求这个和是多少,结果用分数表示出来。分子分母要求互质。#include <iostream>#include <cmath> using namespace std; long long gcd(long long a,long long b){...原创 2019-03-10 18:24:50 · 1074 阅读 · 0 评论 -
蓝桥杯2018省赛 - A3 乘积尾零
如下的10行数据,每行有10个整数,请你求出它们的乘积的末尾有多少个零?5650 4542 3554 473 946 4114 3871 9073 90 43292758 7949 6113 5659 5245 7432 3051 4434 6704 35949937 1173 6866 3397 4759 7557 3070 2287 1453 98991486 5722 313...原创 2019-03-10 19:33:10 · 251 阅读 · 0 评论 -
蓝桥杯2018省赛 - A4 第几个幸运数
到x星球旅行的游客都被发给一个整数,作为游客编号。x星的国王有个怪癖,他只喜欢数字3,5和7。国王规定,游客的编号如果只含有因子:3,5,7,就可以获得一份奖品。我们来看前10个幸运数字是:3 5 7 9 15 21 25 27 35 45。因而第11个幸运数字是:49。小明领到了一个幸运数字 59084709587505,他去领奖的时候,人家要求他准确地说出这是第几个幸运数字,否则领不到奖品。...原创 2019-03-10 20:02:52 · 361 阅读 · 0 评论 -
蓝桥杯2016省赛 - A10最大比例
X星球的某个大奖赛设了M级奖励。每个级别的奖金是一个正整数。并且,相邻的两个级别间的比例是个固定值。也就是说:所有级别的奖金数构成了一个等比数列。比如:16,24,36,54 —— 其等比值为:3/2。 现在,我们随机调查了一些获奖者的奖金数。请你据此推算可能的最大的等比值。输入格式:第一行...原创 2019-03-07 20:18:14 · 666 阅读 · 0 评论 -
蓝桥杯2016省赛 - C8冰雹数
任意给定一个正整数N,如果是偶数,执行: N / 2如果是奇数,执行: N * 3 + 1生成的新的数字再执行同样的动作,循环往复。通过观察发现,这个数字会一会儿上升到很高,一会儿又降落下来。就这样起起落落的,但最终必会落到“1”这有点像小冰雹粒子在冰雹云中翻滚增长的样子。比如N=99,28,14,7,22,11,34,17,52,26,13,40,20,10,5,16,8...原创 2019-03-07 21:20:45 · 324 阅读 · 0 评论 -
leetcode - 只出现一次的数字
目录Ⅰ 题目描述:Ⅱ 题目描述Ⅰ 题目描述: 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1:输入: [2,2,1] 输出: 1 示例2:输入: [4,1,2,1,2] ...原创 2019-09-22 20:09:59 · 162 阅读 · 0 评论 -
蓝桥杯2016省赛 - A5消除尾一
下面的代码把一个整数的二进制表示的最右边的连续的1全部变成0如果最后一位是0,则原数字保持不变。如果采用代码中的测试数据,应该输出:00000000000000000000000001100111 0000000000000000000000000110000000000000000000000000000000001100 000000000000000000000000000...原创 2019-03-02 20:46:19 · 196 阅读 · 0 评论 -
蓝桥杯2016省赛 - A4快速排序
这是一道代码填空题。#include <stdio.h>void swap(int a[], int i, int j){ int t = a[i]; a[i] = a[j]; a[j] = t;}int partition(int a[], int p, int r){ int i = p; int j = r + 1; int x ...原创 2019-03-02 20:24:39 · 143 阅读 · 1 评论 -
为何程序员喜欢将INF设置为0x3f3f3f3f?
在算法竞赛中,我们常常需要用到一个“无穷大”的值,对于我来说,大多数时间我会根据具体问题取一个99999999之类的数(显得很不专业啊!)在网上看别人代码的时候,经常会看到他们把INF设为0x7fffffff,奇怪为什么设一个这么奇怪的十六进制数,一查才知道,因为这是32-bit int的最大值。如果这个无穷大只用于一般的比较(比如求最小值时min变量的初值),那么0x7fffffff确实是一个...转载 2018-12-31 18:34:22 · 238 阅读 · 0 评论 -
ios::sync_with_stdio(false);
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.youkuaiyun.com/yujuan_Mao/article/details/8119529在竞赛中,遇到大数据时,往往读文件成了程序运行速度的瓶颈,需要更快的读取方式。相信几乎所有的C++学习者都在cin机器缓慢的速度上栽过跟头,于是从此以后发誓不用cin读数据。还有人说Pascal的read语句的速度是C/C++中s...转载 2018-12-31 19:08:34 · 159 阅读 · 0 评论 -
leetcode notes:longest substring without repeating charactors
Given a string, find the length of the longest substring without repeating characters. Example 1: Input: “abcabcbb” Output: 3 Explanation: The answer is “abc”, with the length of 3. Example ...转载 2019-01-23 22:36:53 · 116 阅读 · 0 评论 -
20190120 OJ 回文序列的判断
回文:palindrome解法一: 从字符串头尾开始向中间扫描字符串,这只需维护头部和尾部两个扫描指针即可。 时间复杂度O(n),空间复杂度O(1)。 bool IsPalindrome(const char *s, int n) { // 非法输入 if (s == NULL || n &amp;lt; 1) { ret...原创 2019-01-22 21:47:39 · 301 阅读 · 0 评论 -
20190120 OJ递归
20190120 OJ(ty 1-2)烤鸡打靶问题八皇后问题背包问题一、(ty 1-2) 烤鸡:#include &amp;amp;lt;iostream&amp;amp;gt;using namespace std;int n, kind = 0;int m1[10000][10], m2[10];void rec(int, int);int main(){ cin &amp;amp;gt原创 2019-01-22 22:53:03 · 245 阅读 · 0 评论 -
蓝桥杯2016省赛 - A1网友年龄
A1 网友年龄 某君新认识一网友。当问及年龄时,他的网友说:“我的年龄是个2位数,我比儿子大27岁,如果把我的年龄的两位数字交换位置,刚好就是我儿子的年龄” 请你计算:网友的年龄一共有多少种可能情况? 首先,2位数:10~99 其次,比儿子大27岁:27~99(不知道小孩子存不存在0岁这一说法,所以把27岁也算上)emmmm这确实是一道送分题~ #include &amp;lt...原创 2019-02-28 19:02:20 · 448 阅读 · 0 评论 -
链表排序
链表定义及主函数1、list.h文件1、 #ifndef _LIST_H_ 2、 #define _LIST_H_ 3、 4、 struct ListNode 5、 { 6、 int val; 7、 ListNode* next; 8、 }; 9、 10、#endif 2、main.cpp(省去链表排序代码)1. #in...原创 2019-03-01 15:07:36 · 718 阅读 · 0 评论 -
蓝桥杯2016省赛 - A8 四平方和
四平方和定理,又称为拉格朗日定理:每个正整数都可以表示为至多4个正整数的平方和。如果把0包括进去,就正好可以表示为4个数的平方和。比如:5 = 0^2 + 0^2 + 1^2 + 2^2,7 = 1^2 + 1^2 + 1^2 + 2^2(^符号表示乘方的意思)对于一个给定的正整数,可能存在多种平方和的表示法。要求你对4个数排序:0 <= a <= b <= c <...原创 2019-03-05 20:35:28 · 198 阅读 · 0 评论 -
蓝桥杯2016省赛 -A3方格填数
填入0~9的数字。要求:连续的两个数字不能相邻。(左右、上下、对角都算相邻)一共有多少中可能的填数方案?一、回溯可参考八皇后问题,在 20190120OJ递归 这篇文章中也有其他递归练习。1、对于一个待填的数字k,首先判断该数是否在前面的格子内使用过;2、如果该数字没有使用过,判断该格子的八个方向上有没有k+1或k-1;3、填入到一行的最后一个格子,换下一行的第...转载 2019-03-02 19:52:20 · 296 阅读 · 1 评论 -
leetcode - 旋转数组
题目描述: 给定一个数组,将数组中的元素向右移动k个位置,其中k是非负数。 示例:输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2 步: [6,7,1,2,3,4,5]向右旋转 3 步: [5,6,7,1,2,3,4]❗解决思路❗:...原创 2019-09-24 20:52:53 · 139 阅读 · 0 评论