0 Aurox_

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 21w+

Educational Codeforces Round 92 (Rated for Div. 2) A. LCM Problem(思维)

LCM Problem:题目大意:(文末有原题)LCM(x, y)= x和y的最小公倍数;给出l,r,判断是否有一组x,y(l <= x < y <= r)使 LCM(x,y)属于[l, r];思路:x的最小公倍数一定是x的倍数,所以我们不妨假设这个最小公倍数就是他的二倍,则另外一个就是2*x,所以我们只需判断r与2*l的关系即可;代码:#include <iostream>using namespace std;int main(){ in

2020-07-30 16:38:54

常用字符串库函数总结

本文转自https://blog.csdn.net/sharon_1987/article/details/50022855本文与原文内容没有差别,但是由于本人比较注重颜值还有阅读体验(自认为这样可能阅读起来会舒服点),就...又给排版了一下,也算参与博客创作了(重在参与重在参与);本文主要是粗略的介绍了各个字符库函数的大致用法,总结感觉也挺详细,就分享给诸位,有许多说明不明确,如果相要详细理解,可以在博客搜索,后续有些可能我可能也会写博客总结,到时候会附上链接,有些可能会存在错误,望大佬们指出;.

2020-07-02 23:35:21

1. 搜索专题

搜索专题(传送门)

2020-07-01 18:40:42

Educational Codeforces Round 90 (Rated for Div. 2) C. Pluses and Minuses(思维)

Pluses and Minuses题目大意:(文末有原题)给出一个有'+' '-'组成的字符串,读伪代码写程序;res = 0for init = 0 to inf(0到正无穷,其实就是判断条件为1) cur = init ok = true for i = 1 to |s| res = res + 1 (每进入一次循环,res++) if s[i] == '+' cur = cur + 1

2020-06-30 23:27:58

Educational Codeforces Round 90 (Rated for Div. 2) B. 01 Game(思维博弈)

01 Game题目大意:(文末有原题)DA与NET玩游戏,给一个01串,他们只能删除 相邻的两个不同字符,DA先删,如果一个人没法删除,这个人就输了,判断最后谁会获胜;思路:因为是01串,所以能删多少次,与字符串的位置没有关系(只要既有1又有0,总会有相邻的01),所以只需判断有几个01对;代码:#include <iostream>#include <cstring>using namespace std;int main() { int t;

2020-06-30 23:02:32

Educational Codeforces Round 90 (Rated for Div. 2) A. Donut Shops(思维)

Donut Shops题目大意:(文末有原题)有两种方案买甜甜圈:每个a元 每盒b个c元;给出a,b,c,输出 买多少个时,按方案1更划算,多少个时,按方案2更划算,如果不论多少个这个方案都不是更划算,就输出-1;思路:首先如果a > c的时候,按方案一肯定什么时候都不划算;其次如果每盒平均下来的单价 (c / b)>= a 时,肯定按方案一都比较划算;剩下的就是 平均单价 (c / b) < a 时,此时如果想要买的数量刚好是n盒,那肯定按盒买划算,否.

2020-06-30 22:41:12

Codeforces Round #653 (Div. 3) D. Zero Remainder Array(思维)(map)

Zero Remainder Array题目大意:(文末有原题)给你n个整数,且x=0,每次要么x++,要么使ai++并且x++,判断最少通过多少次操作后,可以使任意ai % k = 0;思路:(暴力会TLE)因为不论哪个操作,x均会自增1,即x的每个值只能使用一次;所以对于每种余数,x每增加k,只会多一个数能整除k(设有n个ai 对k的余数是k-1,那么x每增加k,这个n变为n-1,具体看例子);所以我们需判断出,在余数1~k-1中,数量最多的是哪个(假设最多的数量是s,并且这个

2020-06-30 19:19:09

Codeforces Round #653 (Div. 3) C. Move Brackets(思维)

Move Brackets题目大意:(文末有原题)给出一个由 ')' 和 '(' 组成的字符串,我们可以将一个字符移动到字符串首或尾,输出最少通过多少次移动可以使每个')' 前都有与它匹配的'(';匹配规则:() 是对的(()) 也是对的(()()) 也是对的)( 是错的思路:因为要构成对,只需把 '(' 移动到 ')' 之前,所以说每有一个不成对的括号,就需要移动一次,所以只需判断有多少个还没有成对;代码:#include <iostream>.

2020-06-30 18:06:59

Codeforces Round #653 (Div. 3) B. Multiply by 2, divide by 6(暴力、思维)

Multiply by 2, divide by 6题目大意:(文末有原题)给出一个整数,计算通过几次 *2 或者 /6 会得到1;思路:要求通过*2 或者 /6得到1,实际上其实是/3 或者 /6,如果可以则一定要满足含有因子3,所以就每次判断是否含有3即可,如果不含,则通过操作一定不会得到1,否则就暴力执行操作;代码:#include <iostream>using namespace std;typedef long long ll;int main(

2020-06-30 17:44:41

Codeforces Round #653 (Div. 3) A. Required Remainder(思维)

Required Remainder题目大意:(文末有原题)给出一个整数n,输出0~n中 对x的余为y的最大整数;思路:要获得对x取余为y的最大整数,其实就是最多能包含多少个x(设最多为k个),并且n >= k * x + y,所以只需求出n/x再进行判断是否满足n >= k * x + y即可;代码:#include <iostream>using namespace std;typedef long long ll;int main() {

2020-06-30 16:56:46

Codeforces Round #617 (Div. 3) D. Fight with Monsters(思维博弈)

Fight with Monsters:题目大意:(文末有原题)给出n个怪物的血量,你每次可以对他造成a点伤害,你的对手则能打b点,你先打,你的技能是让对手不能出招(能使用k次),判断你最多能造成几次致命一击;思路:(因为n和a,b都比较大,所以应该很大可能直接暴力会TLE(我也没试))因为要获得最大的致命一击,所以要尽可能多的在对手要造成最后一击的时候对他使用技能,这样就等于说之前对手是在给你打工;所以我们只要统计出 对于每个怪物如果你想要致命一击 需要使用多少次技能,最后再对次数排

2020-06-25 18:15:58

Codeforces Round #627 (Div. 3) D. Pair of Topics(思维)(构造cmp)

Pair of Topics题目大意:(文末有原题)分别给出连个数组a[n] 和 b[n],判断a中有几对整数使a[i] + a[j] > b[i] + b[j];思路:另外一个数组v[n],v[i]来保存a[i] - b[i],此时,只需判断v中有几个整数对的和大于0;首先 正数 + 正数 > 0、正数 + 0 > 0,所以 分别记录整数的个数k 和 零的个数m,一定会有(k * (k - 1)) / 2(即) + m * k;其次就是 一个负数 + 绝对.

2020-06-25 16:28:45

Codeforces Round #651 (Div. 2) C. Number Game(思维博弈)

Number Game题目大意:(文末有原题)给出一个整数n,老A和小F在玩游戏:如果n能整除一个奇数,就整除奇数 n如果大于1,n -= 1;A先走,判断最后谁能得到1;思路:首先,判断特别的,n = 1 和 n = 2;其次,因为可以除奇数,所以如果这个数是奇数,直接除自身就可以得到1,直接获胜;第三种情况就是n是偶数:如果这个偶数没有可以整除的奇数,那么只能-1,那么就变为偶数,对手就能直接除自身获得1;否则,除于最大的奇数因子,得到的数,如果是偶数,并且不是

2020-06-24 22:04:13

Codeforces Round #651 (Div. 2) B. GCD Compression(思维 构造)

GCD Compression题目大意:(文末有原题)给出2*n个数,首先从中拿走两个,然后再从2n-2个数中拿出n-1对整数,两个整数相加进入新数组,并且保证新形成的数组的所有元素的最大公约数>1;思路:因为要使新数组的所有元素的最大公约数 > 1,那么我们不妨假设最大公约数为2,因为每个数不是偶数就是奇数,并且 奇数 + 奇数 = 偶数,偶数 + 偶数 = 偶数,所以就是构造奇数对和偶数对;如果奇数的数量是偶数,就扔掉2个偶数(注意当偶数个数为0,只能扔掉两个奇数);

2020-06-24 16:45:09

Codeforces #651 A.Maximum GCD(思维)

Maximum GCD题目大意:(文末有原题)求1~n中任意两个数的最大公因数的最大值;思路:如果n是偶数 max = n / 2;如果n是奇数 max = (n - 1) / 2;代码:#include <iostream>#include <algorithm>using namespace std;int main() { int t; cin >> t; while(t--) { int n; cin &g

2020-06-23 22:56:58

Codeforces Round #171 (Div. 2) B. Books (思维)

Books:题目大意:(文末有原题)给出n个整数,第i个数代表看第i本书所需时间,给出总时间t,从i本书开始看,直到时间用完,或者看到最后一本书(看完最后一本书如果还有时间不会再去看第一本);求最多能够看几本书;思路:(代码②是直接暴力二重循环,会TLE)其实是求最多有几个连续数的和小于t;从第i本开始看,如果看到第x本时间超过t,则把第i本删去(等价于从第i+1本开始看;这样实现可以节省从i+1加到x的运行时间),再去加上第x本,如果仍然超过t,就继续删第i+2本,直到x=n;并且如

2020-06-23 10:26:25

Educational Codeforces Round 35 (Rated for Div. 2) C. Three Garlands(思维)(打表)

Three Garlands:题目大意:(文末有原题)有三盏灯,给出三个亮灯间隔:a, b, c;亮灯规则是 i(开灯时间)、i+x(亮灯间隔)、i+2*x、...,在三盏灯都打开之后,如果能保证每一秒都有灯在亮,则输出“YES”,否则输出“NO”;思路:(应该也算是打表吧)因为只有三盏灯,所以最大的亮灯间隔是3,且必须要保证三个灯的亮灯间隔都是3;并且如果有一盏灯亮灯间隔是1(每秒都亮),则一定是可以的;剩下的就是两盏灯时候,经过验证可以知道,只有满足 2、2、x(任意数)或者

2020-06-22 18:53:21

Codeforces Round #531 (Div. 3) B. Array K-Coloring(思维)(vector map)

Array K-Coloring:题目大意:(文末有原题)给出n个整数,用k种颜色给这n个整数着色,要求:1. 每个整数都有一种颜色;2. 每种颜色至少要涂一个整数;3. 每种颜色不能为相同的整数着色;判断能否为每一个整数都着色;思路:首先判断是否能够实现;不能实现的条件:存在有x个相同整数,并且x > k;(因为k个颜色,每个颜色不能涂相同的整数,如果x>k,代表会有x-k个该整数没法着色)如果能实现就进行下列操作:因为要每个颜色至少要涂.

2020-06-22 18:01:27

Codeforces #295 (Div. 2) B. Two Buttons(逆向思维)(搜索)

Two Buttons:题目大意:(文末有原题)给出两个整数n和m,判断需要多少步能使n变为m;能进行操作:1. n *= 2; 2. n -= 1;思路一:逆向思维,从m向n推,最短的距离就是更多的/2;如果是奇数就先+1变成偶数;如果是偶数就/2;最后再如果m<n;加上n-m步(从m加1一直加到n);代码:#include <iostream>using namespace std;int main() { int n, m, s = 0; c

2020-06-22 17:10:43

Educational Codeforces 63 (Rated for Div. 2) B. Game with Telephone Numbers(思维博弈)

Game with Telephone Numbers:题目大意:(文末有原题)给出一个长度为n(n是奇数)的字符串s,Vasya 和 Petya 轮流从字符串删除一个字符直到字符串的长度变为11,Vasya先走,判断结束时获得的串是否是一个电话号码;电话号码:长度为11,并且第一个字符是'8';思路:要判断最后能否是一个电话号码,实际上是判断最后一次操作后首位是否能为'8';因为P(Petya)不想让其成为电话号码,所以每次都会删除靠前的'8'直到'8'被删完 或者 长度变为11

2020-06-22 16:23:13

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。