Everything you care about in one place

Follow feeds: blogs, news, RSS and more. An effortless way to read and digest content of your choice.

Get Feeder

blog.devtang.com

唐巧的技术博客

Get the latest updates from 唐巧的技术博客 directly as they happen.

Follow now 214 followers

Latest posts

Last updated 1 day ago

CSPJ 教学总结:树状数组

4 days ago

引言树状数组是挺不好教学的一个知识点。它需要以下前置知识:二进制表示法及熟练的位操作前缀和的知识树的基础知识时间复杂度的估算在教学的时候,我们的教学顺序如下:先引入问题lowbit 函数讲解树状数组的结构特点利用树状数组求前缀和的方法怎么修改树状数组的值如何初始化树状数组增加值或替换值二维的树状数组那么让我们来开始。问题的引入P3374 树状数组 1 是一道标准的树状数组问题:该题目给我们了一个数列,我们需要解决以下两个问题:数列的区间求和更新某一个数(加上 x)我们很容易想到用暴力的方法来做此题。于是我们可以估计一下暴力的时间复杂度:数列的区间求和,时间复杂度 O(N)更新某一个数,时间复杂度 O(1)题目中提到,求和的次数最多为 M 次,所以最坏情况下,时间复杂度为 O(M*N)。而由于 M...

CSPJ 教学总结:深度优先搜索(DFS)

17 days ago

深度优先搜索(DFS)是学生学习算法的第一道门槛,因为它的主要形式是递归。而递归中需要将搜索的相关信息通过参数传递,这一点需要学生深刻理解 DFS。模版DFS 有比较标准的模版,如下所示:1234567891011121314void dfs(int pt) // pt 表示层数{ if (终止条件) { //...

CSPJ 教学总结:STL

18 days ago

先记录一下写作点:string 类型substrfindreplaceinserterasec_str容器pairvectordequeliststackqueuepriority_queuemapunordered_mapsetunordered_set函数sortstable_sortuniquenext_permutationnth_elementlower_boundsupper_bounds__gcd

CSPJ 教学思考:数学题

18 days ago

数学题是信息学竞赛中重要的一类题目,通常包括几何、数论、容斥原理等。本文将相关的题目归纳整理,用于教学。几何P2241 统计方形本题解法:每个矩形(包括正方形)都可以由一段左边线段和一段上边线段确定。因此,我们只需要枚举所有可能的线段。对于一个长是 N 宽是 M 的棋盘。左边的线段长度为 1 的有 N 个,长度为 2 的有...

CSPJ 教学思考:枚举

24 days ago

例题:P1304 哥德巴赫猜想此题直接枚举每个合数拆解成两个质数和的所有可能性。为了避免重复计算质数,我们用一个 map 将其运算结果保存下来。123456789101112131415161718192021222324252627282930/** * Author: Tang Qiao */#include <bits/stdc++.h>using namespace std;map<int...

CSPJ 教学思考:模拟

about 1 month ago

模拟是最有效的练习编程熟练度的基础算法,也是有效的掌握各种编程技巧的练习方式。本文将把各种模拟技巧与题目结合,用题目带着学生掌握这些模拟技巧。二维数组包边有些时候,我们在处理二维数组的时候,需要处理 x,y 坐标的边界。这样写起来会比较麻烦,但是,如果我们将数据从下标 1 开始保存,那么就人为在数据外面留了一圈缓冲带。这个时候,在处理 x,y 周围坐标的时候,就不会出现数据下标越界的情况了。例题:P2670 NOIP 2015 普及组 扫雷游戏该题如果正常写,需要判断每个格子周围 8...

斑马思维机的详细调研

about 2 months ago

一、产品介绍斑马思维机是针对 2-8 岁儿童推出的全科启蒙学习机。由在线教育集团“猿辅导”旗下的斑马品牌在 2022 年 11 月推向市场,并在 2023 年 8 月升级为二代产品:斑马思维机 G2。它包含语文、思维、英语、音乐等学科内容,通过纸质的题卡结合点触交互的形式,让孩子在不同情景主题场景下互动,通过互动答题的形式,完成内容的教学。答对有鼓励,答错会有提醒,孩子可以自主完成从插卡到答题的整个过程。相比别的早教学习机,斑马思维机的核心特点是没有传统的屏幕。它用纸质题卡来完成学习交互,在完成学习的同时可以有效保护低幼孩子的眼睛,防止过早接触电子屏幕产生沉迷。产品上线后累计销量突破...

CSPJ 教学思考:并查集

3 months ago

并查集在引入之前,需要先教会学生集合的概念。集合集合是数学中的一个基本概念,它是由一些确定的、彼此不同的对象所组成的整体。集合有两个特点:集合中的元素是互不相同的。集合中的元素没有顺序之分。比如集合 {1, 2, 3} 和 {3, 2, 1} 是同一个集合。生活中的集合有很多,比如:班级,家庭成员,朋友等等。所以,学生还是比较容易理解的。并查集并查集是一种用于管理元素所属集合的数据结构,实现为一个森林,其中每棵树表示一个集合,树中的节点表示对应集合中的元素。并查集支持两种操作:查询(Find):查询某个元素所属集合(查询对应的树的根节点),这可以用于判断两个元素是否属于同一集合合并(Merge):合并两个元素所属集合(合并对应的树)在教学并查集的时候,画示意图可以很好地让学生理解并查集的操作。并查集的初始化我们用数组来表示并查集,用数组的值表示当前结点的父亲。如下图所示:所以,初始化的代码如下:12345678#define MAXN 1010int p[MAXN]...

CSPJ 教学思考:二分查找

3 months ago

概述二分查找的基础逻辑很简单:我们小时候都玩过猜数字游戏,心里想一个数字( 数字范围是 1-100),让对方猜,如果没猜对,就只告诉对方猜大了还是小了,看看最快几次能猜到。这个游戏的最佳策略就是二分。先猜 50,如果大了,就猜 25。这样最多 7 次就可以猜到答案。基础模版对于猜数字这个游戏来说,二分的模版最简单的就是如下形式:1234567891011121314151617// 二分查找int left, right, mid, ans;left...

CSPJ 教学思考:动态规划

4 months ago

引言动态规划是 CSPJ 拉分的关键知识点。之所以这样,是因为动态规划不像 DFS、BFS、二分那样有固定的模版格式。学生要在动态规划问题上融汇贯通,需要花费大量的练习,也需要足够的聪明。笔者自己在高中阶段,也是在动态规划问题上困扰许久。我自己的学习经验是:动态规划还是需要多练,练够 100 道题目,才能够熟悉动态规划的各种变型。之后在比赛中看到新的题目,才会有点似曾相识的感觉,进一步思考出状态转移方程。所以,我打算写 100 道动态规划方程的题解,希望有志攻破此难关的学生和家长一起加油!教学题目推荐的教学题目如下:题目名说明P2842 纸币问题 1基础 DP,记忆化搜索P1216 数字三角形基础...

CSPJ 教学思考:贪心算法

4 months ago

1、概述贪心算法讲起来容易,就是问题求解的每一步,都用一个局部最佳的策略,如果能够证明局部最佳的策略最终能够保证全局最佳,则可以用贪心算法。在实际 CSPJ 比赛中,我们不用严谨的求解和证明,只需要尝试做一些反例,如果反例中找不到问题,就可以先用贪心求解。毕竟比赛中时间的权重因素比较高。在教学中,我们先通过简单的题目让学生理解贪心的概念。之后就可以逐步增加难度,让学生意识到,写出贪心可能容易,但是想到贪心这种解法在比赛中并不那么显而易见。贪心通常伴随着排序,所以对 STL 的 sort 以及 priority_queue 的熟练应用也是快速解决贪心题目的必备基础,在学习相关题目的时候,可以重点加强巩固相关知识点。2、sort 函数sort 函数内部使用快速排序实现,时间复杂度为 O(N*log(N))。对于数据规模为...

2024 年个人总结

4 months ago

一、工作财务视角2024 年从财务视角,业务整体有不小的进步。23 年虽然业务增长不错,但是整体有将将近千万的亏损,而 24 年整体的赢利是上千万的。所以业务整体健康度更高。当然,因为我们严卡利润率,我们的营收规模在 2024 年基本上没有什么增长,还是在 2 个亿左右。希望 2025 年有所增长。海外业务在收缩为一人之后,也有不小的起色。我们在韩国还是找到了一条基于 coupang...