关于CSP2020

考前一天

还是没有回班上上课的一天。。。(感觉文化科要炸
复习了下要考的模板,怎么说呢,会的还是会,不会的还是不会,于是打了几个较基本的练了练手
离开机房的时候环顾了一下四周,真好,都是头发 : )

下午的时候 5 5 5 点就离开机房了,要和某初中生拼车,结果去教室拿相机的时候被班主任抓到了(危),果然她并不打算放我走,然后和同学们留到了 5 5 5 20 20 20 。好吧,还有十分钟得赶到初中部。结果又被劳动委员抓住了,为什么我还要值日啊啊啊啊啊(努力的扫地中。。。),3分钟扫完的地也不知道会不会被要求重值。狂奔回宿舍已经 5 5 5 30 30 30 了(裂开),然后那同学的母亲打电话来说已经等了我 20 20 20 分钟了,呵呵,于是我又狂奔去了北区。我从未感受到从北区跑到南区要这么久(行李箱怎么这么重啊),当那同学的母亲告诉我她在南区宿舍的那个门时我真的要绝望了(还碰见了 z z l zzl zzl)。总算上了车吧,还被数落了一顿(TAT)
总之放学放得我心态有点崩

回家发现 f y fy fy他们已经到了广州了(针不戳),晚上和老妈聊了会人生就睡了


考前半天

六点多醒的时候看到 f y fy fy 说她在去考场的路上了,看了看时间,感觉还早,然后又回去睡了
九点多时突然意识到普及组已经开考了,而我在吃早餐

大概十一二点就出发了,感觉一路上没怎么塞车,一点前就到了。然而太阳极大,学校门口也没几个我们学校的,就在车上继续临时抱佛脚。。。大概一点二十吧,人渐渐多了起来,于是终于下车了。

拍了几张大合照之后就进考场了


它来了它来了

它带着大模拟来了QAQ
在这里插入图片描述

  • T1 这是一个悲伤的故事 —— 某无名菜狗怒打200行代码最终保龄(卒)
    到底是人性的扭曲还是道德的沦丧,某令人作呕·ccf出题官竟出了道大模拟 : )
    红红火火恍恍惚惚,就这么过了2个小时,菜狗清晰地认识到:t1挂了
    考后菜狗终于发现,错误原因是菜狗当时算错了一个数,噢我为啥不打暴力中的暴力,还能有点点分。。(TAT)
  • T2 哈哈这不是数学题吗,菜狗内心似乎被一束光照亮了,于是ta开始猛算:五分钟过去了,十分钟过去了。。。ta摸出了规律,ta感动万分,ta最终。。。。。
    呵呵以上皆为妄想,当我认识到这是一道数学题时,我逐渐陷入沉思,最后给自己点了一首凉凉,菜狗知道,ta是推不出来的,所以ta打了个暴力(nice),然后ta尝试去推,果然,推到大半,ta卡住了。很好,下一题
  • T3 wow(菜狗ssfd),不慌,咱来个暴力(爱暴力一辈子,说明:有任何技术含量的都不配称为暴力),再观察了下,噢!拓扑,不过还是不会,于是ta努力地想如何去优化暴力,可最终事实证明,这就是暴力啊啊啊,菜狗优化不了
  • T4 。。好滴不可做(再见了宁)

最后,菜狗不出意外的非常菜 0 + 40 + 25 + 0 = 65

o v e r over over

### CCF CSP 2020 第6题 解题思路与代码实现 CCF CSP认证的试题通常涉及算法设计、数据结构应用以及编程技巧。根据题目描述和常见问题类型,第6题可能是一个综合性的算法问题,涵盖排序、动态规划或图论等内容。以下为解题思路及代码实现。 #### 解题思路 1. **问题分析** 假设题目要求处理一个复杂的输入数据集,并需要计算某些特定条件下的结果。例如,可能涉及时间序列、资源分配或路径优化等问题[^1]。针对此类问题,需明确输入输出格式,提取关键约束条件。 2. **核心算法选择** 根据题目描述,可能需要使用以下算法之一: - 排序:如果涉及时间点或顺序关系,可以利用 `sort` 函数对数据进行排序[^3]。 - 动态规划:若问题具有最优子结构性质,可以采用动态规划方法求解。 - 贪心算法:对于局部最优解能够推导出全局最优解的情况,贪心算法是高效的选择。 3. **边界条件处理** 在实现过程中,务必注意边界条件的处理。例如,时间范围是否包含端点值,数组下标是否越界等[^2]。 #### 示例代码 以下是基于C++语言的代码实现示例: ```cpp #include <iostream> #include <vector> #include <algorithm> using namespace std; struct Event { int id; // 事件编号 int type; // 操作类型(如放钥匙为1,拿钥匙为0) int time; // 时间点 }; // 自定义排序规则 bool cmp(const Event &a, const Event &b) { if (a.time != b.time) return a.time < b.time; // 按时间升序 if (a.type != b.type) return a.type > b.type; // 放优先于拿 return a.id < b.id; // 编号小的优先 } int main() { int n; // 输入事件数量 cin >> n; vector<Event> events(n); for (int i = 0; i < n; ++i) { cin >> events[i].id >> events[i].type >> events[i].time; } // 对事件进行排序 sort(events.begin(), events.end(), cmp); // 处理逻辑 vector<int> result; for (const auto &event : events) { if (event.type == 1) { // 放入操作 result.push_back(event.id); } else { // 取出操作 if (!result.empty()) { result.pop_back(); } } } // 输出结果 for (const auto &id : result) { cout << id << " "; } return 0; } ``` #### 注意事项 - 确保输入数据的合法性,避免因异常输入导致程序崩溃。 - 使用高效的排序算法(如快速排序)以降低时间复杂度。 - 测试用例应覆盖各种边界情况,确保程序的鲁棒性。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值