**acm第三周学习总结**

acm第三周学习总结
一.学习内容总结
本周我做了第一道codeforece的题目。
A.奇怪的桌子
题目大意就是将按行排列的单元格序号找出来然后求它按列排列的单元格序号;
代码如下
#include
using namespace std;
int main()
{
int T;
cin >> T;
while (T–)
{
unsigned long long n, m,x;
cin >> n >> m >> x;
unsigned long long a, b;
a = x / n;
b = x % n;
if(b!=0)
x = (b -1)* m + a+1;
else x = a + (n - 1) * m;
cout << x << endl;
}
}
这道题的精髓在找出按行排列的行列数;
其中可以用序数除以行数得到行数用取整的到列数;
B.动态求最值
1使用优先队列
2使用set函数进行有序排列
3也可以使用map函数可以存放两个值
C.解决复杂问题的思想
复杂问题就是简单问题的拓展,要搞清基本情况是什么,在此条件上又添加了什么限制,对于限制又是如何去排除;
D.前缀和:前缀和是一个数组的某项下标之前(包括此项元素)的所有数组元素的和。
差分:差分就是将数列中的每一项分别与前一项数做差。
二.学习感悟
第一次做codeforce上的题目,第一次打比赛,心情虽然激动,但也给了我一次深深的教训,首先题目都是英文,虽然用了翻译软件,但翻译的意思都差如人意,特别是许多关键的地方翻译不到位,第二是有时间限制,以前写代码都可以随着自己的心思写,一旦规定时间就觉得非常紧张,这也反映了自己的能力不足,心里素质也不行,两个小时才做了一道题。但比赛让我获得了许多好处,尤其是到了后半夜,呢种非要搞明白这道题的心思就更为强烈。弄明白之后也是心情舒畅

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值