- 博客(44)
- 收藏
- 关注
原创 Codeforces Beta Round 7A Kalevitch and Chess
大概题意就是:一个8*8的矩阵,最初是W字符填充,现在要求B字符填充,填充的规律是,要么水平方向全部B(某一行或者多行),要么垂直方向(某一列或者多列),一行,表示1,一列表示1,例如第一个:需要1行2列完成绘制。那么就是8+8=-16的情况下,是8,其他情况是水平和垂直画线之和。程序思路:矩阵填充数据,然后水平方向检测,如果是都B,就+1,接着垂直方向(列)检测,如果都是B,就是+1,之和就是应该画的线。当然,我也是参考了别人的代码,然后自己消化,重新编写,稍微改良一点,容易理解一些。
2025-10-13 20:57:41
277
原创 Codeforces Beta Round 6 C - Alice, Bob and Chocolate
每个数字代表一个巧克力,而数字代表吃掉巧克力消耗的时间,当两个人消耗时间一样,就Alice先吃,但是一个巧克力不能分2不分吃。比如Alice吃了第一个,消耗时间是2分钟,Bob吃了右边第一个,消耗时间是7分钟,接下来,Alice不可能等Bob吃完再吃,所以会用时少的马上吃下一个。1)首先左右各开始吃0,n-1,2)然后当使用时间少的吃下一个1,n-1-1,此时时间耗时多的还在吃。Alice从左边吃巧克力,Bob从右边吃,如果都一样的时间,Bob会让Alice先吃。3)当时间一样,就先左边吃。
2025-10-11 22:58:51
385
原创 Codeforces Beta Round 6 A. Triangle
主要2个知识点,如何判定一个三角形(任意2点之和等于第三个点),还有退化三角形(存在一个2个点之和=第三个点),然后就是组合取数问题,不要求数字的排列数序,所以,每次循环+1,就是在里面再获得不同的数字。以上代码表示,从4个数字里,拿出3个数字,进行换算,三个数字没有顺序之分,所以这三个数字,组合,即可,没有前后之说。遇到同类问题都可以如此算法!明白题意,后面就解题容易,本题是DIV2 水平,一共四个水平,DIV4是最容易的,但是这个题还是比较简单。在里面第二个FOR,得到第二个顶点,就是+1位置的,
2025-10-11 12:55:56
946
原创 Codeforces Beta Round 5 B - Center Alignment
2025-10-10 耗费2小时完成。中间其他事情耽误一些时间。大概1小时20分钟。并且补位如果不是堆成,需要先左边-1,第二行右边-1,依次反复。2 然后如果其他不是平均,先左边,整除2,第二行就是左边+1。以下也是同样代码,方便用手机的朋友,不太喜欢黑底背景的阅读。大概意思是:居中对齐,并且用星号围起来。看列子,放在word文档里面查看里面的空格位置和数量。1.获得所有行里最大长度,并且+2星号。大家可以登录,注册,做这道题。
2025-10-10 10:56:20
1026
原创 Educational Codeforces Round 183 A - Candies for Nephews
题意:Monocarp想给三个侄儿分糖果,手里有n个,请问还需要买几个?这样才能使得每个侄儿得到的糖果一样多。换做数学公式就是,糖果的总数量 可以整除3,或者说除以3没有余数。就是(手里的+要买的)整除3,需要知道要买的数量最小值是多少?有时候可能比赛没有想象那么难,参与也很重要!大家可以直接登录(先需要注册),做这道题。非常简单,可惜昨晚没来及参加这个比赛。今天做了三道题,虽然另外两道不是全对。
2025-10-07 11:44:37
564
原创 Codeforces Beta Round 1 A. Theatre Square(1)
Each flagstone is of the size a x a.(决定用花岗岩石铺,每块花岗岩大概 a * a)然后两个方向的块数乘积(product)就是需要的真正的个数,能覆盖,又不会多余浪费。(求其能覆盖的情况下,至少需要多少块花岗岩石块)首先考虑横向,整除,需要多少块,然后求余数,如果有余数,那么就+1,同样。取余函数fmod,这是double类型转int类型的函数,比%更好。竖向也是,需要多少块,然后求余数,如果有余数,就+1,花岗岩的边要和剧院平行。可以修改上面的数字,就可以知道题了。
2025-10-05 17:03:17
347
原创 Codeforces Round 65 C. Round Table Knights(71)
/You must make N elements split i equally into parts. 将元素分i份。注意:代码还没有完全理解,我参考别人的代码,理解到这里,还是不完全理解,暂时存放这里,方便手机查看和再思考。2)然后每一部分执行step步,寻找是否=0,如果最后一个是0,那么结果就是0。1)将圆桌n个骑士,分成 i (>3) 部分,每一份 step 个骑士。//每一份step个。这道题,比较难,现在还没有完全吃透,参考别人的代码,大概意思。//这里是每份的元素。
2025-10-05 11:35:40
509
原创 Codeforces Round 65 B. Progress Bar(71)
以下是本人写的代码(这次未参考别人),由于简单,所以一次成功!分析:10,10,54 就显示5个10,1个4,其余0。公式 5 = (n*k * t%) / 整除 k。公式 4 = (n*k * t%) % 取余 k。从以上就可以知道,这个程序大概意思。
2025-10-05 07:31:16
758
原创 Codeforces Round 65 A. Way Too Long Words(71)
题意很明确:一个字符长度超过10,就要用缩写表示,即首字母和尾巴字母,中间是其单词的中间部分长度。这样理解完,就很容易写了,就是简单的字符串判断,使用to_string(int)函数。
2025-10-05 04:33:06
699
原创 Codeforces Round 810 A. Perfect Permutation
The weight of a permutaion p1,p2,...,pn is the number of indices(索引) 1<=i<=n such that i divides pi. Find a permutation p1,p2...pn with the minimum possible weight(among all permutation of length n)大概题意:例如4,寻找4以内的不同正数即可。可以是4 1 2 3 这样的。以后遇到类似的题,可以这样做。
2025-10-05 02:44:32
457
原创 Codeforces Round 1054 B. Unconventional Pairs(2149)
通过最后提示:可以发现,是偶数个元素,并且成对出现是排序过,然后求2个数之差,然后取最大的差值。说明:不能用冒泡排序,当测试数据2万条的时候,就会超时,根据之前排序方法,只有快速排序。最小可能的,最大差值,在元素的对对中,根据NOTE就可以推理出来。根据题意,是求,成对出现的数据之差,其差值,最大的是?参考和别人的代码,消化理解完成。
2025-10-04 16:12:21
132
原创 Codeforces Round 1027 A. Square Year (2114)
如此,一定存在,year的平方根,如果平方根的值的平方=year,就表示可以,否则-1。根据以上,我们可以基本知道:2025=(20+25)*(20+25),但是后面描述,只要(a+b)的平方=year即可,那就表示year是一个(数字+0)的平方值,参考其他人的代码,消化理解的,目前重在学习阶段。题目给的答案不是唯一的。
2025-10-04 15:19:37
196
原创 Codeforces Round 1055 A - Increase or Smash (2152)
要成对执行1,2,最后一步就是-,或者说,要升级,接着要降级,这样反复+1-1这样波浪执行,不能单独一个不停的执行。在原来的基础上升级x+1,降级x-1即可,就是2个步骤,最大元素不需要,那么就-2,但最后需要一起变为0,就要+1.所以*2,而其中最大的值不需要,所以+2,但最后结果是0,那么就再-x得到,这个操作就+1。所以操作*2,但是本身最大值,不需要,但是需要最后一步,大家一起变0,所以这里就是-1。题意是:你给我升级,但是也要降级,一起来,不能单独执行一个降级,我受不了。
2025-10-04 09:30:02
535
原创 Codeforces Round 1054 A. Be Positive (2149)
如果是0,必须变为1,才能导致the product乘积>0,所以这里需要操作+1一步。例如:-1,1,-1,1 相乘,得到1,必须>0(strictly positive)目标是获得所有元素的之乘积,这个乘积(the product)必须是严格正数,即>0。所以,当-1是奇数,就需要使其变成>0的数据,那么需要操作2次,每次+1,才能>0。第一步:循环输入变量:如果是0,那么就操作+1,如果是-1,那么就统计负数有多少个。第二步:多少个负数,如果奇数,就要+1+1,才能>0,如果不是,不用管。
2025-10-04 08:47:10
860
原创 Codeforces Round 173 A. Coin Transformation(2043)
【代码】Codeforces Round 173 A. Coin Transformation(2043)
2025-10-03 11:36:48
696
原创 Codeforces Round 173 B. Digits(2043)
3,7==0,另外%3 并且N>=3!当3的时候,整除3==0 或者3!=6个单数,也是可以整除3,7的,这里就输出这个整除数。STEP2 判断是否%1,3,5,7,9 每一种情况,一共5个情况,分别输出即可。=6个1,2,3....9 并且整除3,9的也可以。当9,需要注意:整除9,6!的数字1,2,3...9 可以整除9。=6个1,2,3....9可以整除7。=6个1,2,3....9可以整除3。2 多个1,2,3.....9 整除的情况。个,是否可以被奇数整除。当1的时候,整除1==0即可。
2025-10-03 10:03:47
495
原创 Codeforces Round 863 A. Insert Digit (1811)
思路:将数据先插入到头,然后比较和后面的数字,如果大,就不比较了,如果小,就移动这个数据到下一个,循环,直到这个数字>后面的数字,就停止。将一个数字插入到一个字符串里,需要满足的条件是:使得字符串数字变得最大。注意:字符串数字的里面的顺序不可以进行移动,只能插入最新的数据。在codeforces上测试,AC100。
2025-10-03 07:42:57
890
原创 Codeforces Round 957 A - Only Pluses
3个数,只分配5次,获得最大乘积,只有每个数最大才可以。以下借鉴别人代码,自己学习,理解,吃透,完成。sort : 获得最小的变量。所以首先从最小的补1,然后排序。以上思维,不会漏掉数据,严谨!再从最小的补1,然后排序。依次,直到5次全部用完。
2025-10-02 11:11:15
395
原创 Codeforces Round 993 Hard Problem
测试,案例2002的时候出错,但是根据测试案例的数据3 5 3 2,应该是6,不是4,我认为测试案例错误。测试案例代码,生成测试数据。
2025-10-02 02:39:07
190
原创 Codeforces Round 993A Easy Problem
第二种方法,也是可以,都是AC。修改地址2044就可以了。思路很简单,每次-1。
2025-10-01 23:30:30
207
原创 Codeforces Round 993B. Normal Problem
这种情况可以被AC, 也可以集体输出,需要使用vector<string> list来存储输出结果,最后显示即可。思路很简单,得到输入,然后立刻倒着输出,并且遇到q就改写为p,遇到p就改写为q,而w不改变,如何查找这道题,只需要打开一个问题,然后拷贝链接地址,修改里面的数字为2044就可以了。根据题意,从窗户外面看到一个字符串,然后需要你给出窗户里面的字符串是什么?根据例子,分析如下,在窗户里面,就是倒着,即从后往前,或者说从右边到前面。这样,p就等于q,而q就等于p,而w不改变。
2025-10-01 22:35:40
452
原创 Codeforces Round 1052 A. Equal Occurrences (相同出现次数)
例如:1 1 1 1 1 2 2 2 2 3 3 3 4 4 5 中,求出现相同次数是最多的数。那么最大是9,就是111 222 333,一共出现次数是3+3+3=9。第一步:统计每个不同的数,出现次数是多少:【5-4-3-2-1】2出现了4次,1也出现了4+1次,那么就是 = 4+4=8次,3出现3次,前面5,4都包含3次,那么总次数=3+3+3=9,4出现2次,前面都包含,那么总次数就是:2+2+2+2=8,1出现5次,其他都不包含5次,所以是5,5出现1次,前面都包含,总次数就是5,
2025-10-01 13:05:12
1390
原创 Codeforces Round 1050 A. Sublime Sequence
说明:可以一边输入一遍输出,也可以最后一起输出。最后输出需要一个vector数组或者int *数组。题意:n个x个数字,x数字为x,-x,x,-x等n个,计算这些x的和。思路按照输入,然后整除2的为x,否则是-x,然后求和。
2025-09-29 23:11:14
409
原创 Codeforces Round 4 C. Registration system
思路:2个数组,一个负责字符串,一个负责是否因为重名加1,2,3,如果加了就不修改为OK。大概的题意:注册的时候,同名加1,2,3,4等,然后不同名的修改为OK。第二种用结构体和类的方式,更加严谨。
2025-09-29 22:12:00
317
原创 Codeforces Round 4 A. Watermelon
题意:一个西瓜分成2份,切西瓜,不会出现单数,就是2的整数倍。解题思路:除以2没有余数,就是YES。
2025-09-29 22:03:55
293
原创 CodeForces Round 1037 显示最小数字
题意:一个数,由个百十位等构成,例如693,显示其中最小的数3。思路:很简单,4位数字,分别得到,然后比较大小即可。本题来自:Codeforces网站。
2025-09-29 21:57:09
291
原创 Tsinghua OJ 工作分配(Workload)C++ 数组指针实现
本地测试都AC,三个测试,最后回车,和别人的AC100/100一样。除非要求:必须递归,或者要求不能在代码里delete删除数组行。用简单的方法解决,不用递归!实际上工作,也很少用递归!如果用vector更简单。
2025-09-28 19:18:07
123
原创 Tsinghua 4.通话时长(Phone)
(2)如果Hours<0,表示过了一天了,所以总秒 +=24*3600 (参考提示)思路:(1) 计算t1和t2的总时间Second,然后再t2减去t1,
2025-09-28 06:36:26
145
原创 Tsinghua 最大公约数(Divisor)
不过上传OJ测试,没有问题,不知道是什么原因!在这里浪费了20分钟!出现奇怪的情况,最后cout<<max1,无法显示,见鬼了。
2025-09-27 18:08:20
427
原创 Tsinghua 字母统计(Count)
思路很简单,字母A和a之间相差32,先生成一个数组字母,再生成一个对应统计数组。不能使用vector,我只用了sting,一次成功,而且是100/100。以下是代码,大家可以直接拷贝。
2025-09-27 16:38:30
145
原创 Tsinghua 重名剔除(Deduplicate)
本地测试AC,而且还没有使用vector,在本科程序设计里,是主张用vector的。本科测试,我觉得还是要学会使用工具,也没有提示不能用string。TsingHua 测试只有5%,就是1个正确。
2025-09-27 15:18:48
198
原创 C++实践:当使用了cin后又马上用getline,出现捕捉不到
/必须这里得到一个空格一次,否则下面的getline会接受一个空行。/* 例如复制以下内容。
2025-09-27 14:05:03
212
原创 TsingHua Online Judge 简单表达式
运算符有且只有一个,除了 A 和 B 的内部不能有空格外(例如 123 不能写成 12 3),其余位置均可能有空格甚至多个空格,但不包含制表符 TAB。任给一个形如“A op B”的表达式,计算它的值。其中操作数 A 和 B 都是正整数,运算符 op 可以是+、‐或*,分别表示加、减、乘。思路:也是要用long int类型,还有* 可以不参考提示,放在外面,default为空。共计一行,即表达式“A op B”。共计一行,即表达式的值。
2025-09-19 17:16:36
187
原创 TsingHua Online Judge 加法
运算符有且只有一个,除了 A 和 B 的内部不能有空格外(例如 123 不能写成 12 3),其余位置均可能有空格甚至多个空格,但不包含制表符 TAB。任给一个形如“A op B”的表达式,计算它的值。其中操作数 A 和 B 都是正整数,运算符 op 可以是+、‐或*,分别表示加、减、乘。思路:必须使用long int才可以,否则int只能通过部分。共计一行,即表达式“A op B”。共计一行,即表达式的值。
2025-09-19 17:13:05
134
原创 C++ A+B for Input-Outpout Practice
【代码】C++ A+B for Input-Outpout Practice。
2025-09-17 07:56:58
139
原创 2012年3月全国公共英语三级考试真题:阅读1
1)独居人数的惊人增长使我们忽略了的去识别的最大社会变化,跟别说研究了。The Extraordinary rise of living alone is a biggest social change that we have neglected to identify, let alone examine.2) 考虑到在1950年,仅有400万美国人独居,仅占美国家庭的9%。那时,独居生活吸引了季节性工人的西部各种最普遍,这通常是通往更为传统家庭生活道路上的短暂阶段。
2025-09-14 07:54:16
113
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅