精华内容
下载资源
问答
  • 这一章的内容不仅仅限于产品经理,每个人都可以参考的一种思维方式。 日常生活中,当我们面对这些问题...有一种思维方法或许对你有帮助,这种思维方式,我们可以称之为“结构发散思维”。 那么什么是结构发散...

    这一章的内容不仅仅限于产品经理,每个人都可以参考的一种思维方式。
    日常生活中,当我们面对这些问题或者目标的时候,我们的脑子里不是一片空白,什么也想不出来,就是似乎有很多的想法,却怎么也捕捉不到,理不出头绪来。
    有一种思维方法或许对你有帮助,这种思维方式,我们可以称之为“结构化发散思维”。

    那么什么是结构化发散思维呢?

    英国心理学家爱德华·戴勃诺博士将人的思维方法分为两类:垂直思维和水平思维。
    垂直思维:也就是我们说的逻辑思维。这种思维方法是在一个固定的范围内,按照一定的思考路线一步一步地去思考。
    水平思维:又称为发散性思维,它是相对于垂直思维而言的,指的是在思考问题时摆脱旧经验、旧意识,冲破常规的束缚,提出富有创造性的见解、观点和方案。
    例如:
    垂直思维:

    img_092921a8035d81ea5c1f0e8bd25fb7ca.jpe
    IMG_0817.JPG

    水平思维:


    img_ffb08a38fba729b808505677a0c027d9.jpe
    IMG_0818.JPG

    结构化发散思维就是这样一种将逻辑思维发散性思维有效结合的思维方法。

    结构化发散思维的原理

    简单来说就是,从新想法中总结新的思考方向,再从新的思考方向发散出新想法,如此循环反复,直到系统的穷尽我们所能想到的所有方向和想法。

    如何进行发散思维呢?

    首先我们需要一个工具,思维导图。可以下载mindManager,也可以下载别的思维导图的软件。
    然后,我们要确定思考的中心主题。
    注意,中心主题必须是清晰的,明确的,具体的。
    再然后,我们就围绕主题开始进行思考,列出所有能够解决这一问题的应对方法。这个时候,一开始大脑可能是混沌不清的,我们要记录大脑每一瞬间的想法,哪怕这个想法是不靠谱的或者是很疯狂的。
    接下来,把想法进行归类。注意,归来的标准一定要是唯一的。分类过程严格遵循“相互独立,完全穷尽”的原则。
    最后,直到网铺到足够大的时候,我们就可以开始收网了——对每个想法进行逐一的甄别,确定哪些是有价值的,哪些是不符合实际的。
    这个过程看起来有些复杂难懂,我们举个例子看就会更加清晰明了了。
    俗语云:春困秋乏夏打盹,睡不醒的冬仨月。上班容易犯困是很多人的困扰。我们就以“解决上班容易犯困的问题”为中心主题来说明。
    1、明确主题“解决上班容易犯困的问题”。在思维导图上确立主题。

    img_bf2a539b558a86fb961216e2763762d4.png
    image.png

    2、确立了主题,思考的旅程就开始了。这个时候要进行发散性思维,尝试寻找一些想法,并记录下来。
    注意:这个过程中,大脑不应该受到任何的束缚和约束,可以任凭想象力去驰骋。对新的想法也不做任何的否定和批判。因为新的想法可能会在之后帮助我们找到其他靠谱的想法或方向。

    img_59748caedc1f48441f46fd5634b5a29d.png
    image.png

    经过一轮的发散性思维,我们可以找到一些零散的想法。通过分析,我们发现这些想法有一些共同特征。接下来就是辨别这些想法之间的内在联系,并对他们进行合理的分类。

    为了便于分类,先把刚才的杂乱无章的按照分类标准大致分类,我们按照感官进行分类。

    img_2d18536c45236c16c196862194111426.png
    image.png

    然后进行整理,如下图

    img_451933f62768d1f690daa48c669b4928.png
    image.png

    再次强调,这个分类过程严格遵循“互相独立,完全穷尽”的原则。

    互相独立,要求同一层级的分类结果相互之间是明确独立的,不存在交叉重叠。分类发生重叠往往是由于我们在同一层级里采用了多个标准去进行分类造成的。

    完全穷尽则要求分类结果是完整的、周密的。每一层极分类完成时,我们都得询问自己,是不是把所有情况都想到了。只有确定没有任何遗漏,那么分类结果才算是“完全穷尽”。

    遵循这一原则进行分类后,我们会发现一些新的思考方向。比如,我们看到,触觉、味觉,可以想到嗅觉,听觉。这个时候,就按照新的方向进行思考。
    就这样,不断的从新想法中总结新的思考方向,如此循环反复,我们的思路慢慢被打开,对问题的思考越来越全面,思维脉络越来越清晰,思考的速度也是越来越快。最终,清晰地绘制一张大网在全景图中。


    img_73d60c0f0e0cc58cb79aa80c2d6feaa1.jpe
    IMG_0819.JPG

    最后,对每个想法逐一甄别,确定哪些是可行的,哪些是有价值的,哪些是不可行的。

    怎么样?学会了吗?下次试试看看吧。

    祝开心

    展开全文
  • 具有光子晶体结构的980nm锥形激光器,可实现低垂直发散
  • 对表面发散度进行了评估,并分析了可能的单环发散结构。 使用超场适当时间和背景场技术,我们根据轨距倍数和超倍数来计算一环有效动作的发散部分。 相应的对等项包含纯规范多重峰贡献以及规范多重峰和超多重峰的...
  • 在对称隔离密封异质结构激光器中采用最佳薄层结构,并用分子束外延的方法来生长一层必需的、非常薄的激活层(~500埃)。于是,我们便得到了不用反射镜镀膜的很低的电流阈值密度(~600安培/厘米2)和十分稳定的θ⊥∥约...
  • 等级问题的持续性表明对有效领域理论期望的违反。 一个令人信服的可能性是,这是由EFT的物理分解导致的,该分解可能是由于紫外线(UV)和红外(IR)物理之间的相互... 我们探索了这样的理论的范围,其中紫外线发散
  • 通常可以通过增加波导厚度并在波导层和覆层之间插入低折射率层来减小基于GaAs的激光二极管(LD)的垂直发散角,但也会引起阈值电流的增加... 新设计的激光结构的特性表明令人满意的光束质量和相对较低的阈值电流密度。
  • 结构图辅导书上貌似更简洁些,所以就从整体入手,毕竟容易一叶障目,每每搞不懂自己在做神马,所以做这个让自己能更清楚数据结构都是些什么。

    结构图辅导书上貌似更简洁些,所以就从整体入手,毕竟容易一叶障目,每每搞不懂自己在做神马,所以做这个让自己能更清楚数据结构都是些什么。


    展开全文
  • 发散结构的技巧。 接着上文,我们来看一下面对海量信息,如何利用结构树从下往上总结。 一、 万能的结构树 自上而下发散,是将一个论点、一个问题作为根节点(A)向下分类发散,将大概念拆解为易解决的小...

    上一篇文章《思路清晰的秘诀:结构化思维(自上而下)》阐述了以下几点:

    • 结构化思维的原理;
    • 结构化思维是什么;
    • 自上而下发散的栗子和应用;
    • 发散结构的技巧。

    接着上文,我们来看一下面对海量信息,如何利用结构树从下往上总结。

    一、

    万能的结构树

    自上而下发散,是将一个论点、一个问题作为根节点(A)向下分类发散,将大概念拆解为易解决的小概念。

    从下往上总结,则是当你面临海量信息(C1C2C3…),将这些信息分类概括,得出结论。这适用于判断他人逻辑、归纳信息等场景。

    二、

    总结的方法

    第一步:找出事物的共同特征 

    1. 它们是什么?
    2. 它们属于哪个方面?
    3. 它们是否在某一方面具有相同属性?

    第二步:找出事物的共同结果

    1. 它们都导致了什么?
    2. 导致的结果除了好的还有坏的吗?

    对于物理实体等非事件类事物,通常是不需要第二步的。

    为了避免遗漏第二步,我们可以在找出共同特征后问“所以呢”,得出事物的结果。

    三、

    举例子

    还记得上文中的小游戏吗?

    这个分类的过程就是利用了方法1,找出事物的共同特征。它们是什么?苹果、梨子、橘子都是水果,一下子就记住了吧~

    人们对于同一分类里的相似事物记忆会更深刻。

    总结报告

    小红想总结一下今年的学习情况,她罗列了以下内容:

    1. 看了3本心理学的书;
    2. 参加了一个日语培训班;
    3. 看了5本金融财经的书;
    4. 在网上买了一个管理学的视频课。

    第一步:找出共同特征

    看书:1、3,听课:2、4。

    第二步:找出共同结果

    通过看书和听课小红在这几个领域都学到了不少,但是小红觉得听课的效率更高,于是决定在明年的学习方式里增加听课学习的比重。

    这种方法特别适用于学习总结、工作总结,罗列出所做的事,然后分类概括、评估结果,再作出调整策略,使自己进步更快。

    假如你要向领导交一份年终总结报告,比起只陈述了做过的事情,再加上你的分类总结、优化方案,是不是会让领导眼前一亮呢?

    判断逻辑

    (1)听不懂的本质

    假如小明跟你说了一大堆话,每一句你都能听懂,连在一起就觉得很混乱、听不懂。你听不懂的原因,是因为你不知道小明想表达什么,不知道他这段话的论点是什么。

    这时,你可以引导他说出结论。比如:询问他“这个事情导致的结果是什么”、“所以呢”之类的。

    (2)保持怀疑

    我们每天都在接收大量的信息,微博、公号、新闻等等,当你发现你被灌输一个观念时,就要保持警惕了。

    我们首先利用下图的结构树,分析作者的论点、理由、事实是什么。再分析事实是否能推出这个理由,这些理由又是否能支撑这个论点。

    比如:公号上很推崇的成功鸡汤学,就是要努力、要拼。

    我们利用结构树来讨论:

    1)作者的论点、理由、事实是什么?

    论点:努力就会成功。

    理由:努力会使工作时间更长。

    事实:XXX每天只睡6小时然后加薪,YYY累到30小时不睡觉也要做方案最终升职,ZZZ打着吊瓶还要工作。

    2)事实能推出这个理由吗?

    是的,牺牲休息时间可以换取更长的工作时间。

    3)理由能支持这个论点吗?

    显然不能。就算工作时间长,工作效率不如别人,还是白搭。这个论点的核心问题就在于——它将导致成功的因素单一化了,只强调了努力。

    很明显,成功的因素,除了努力,还包括:天赋、机遇、资源等。

    该论点违背了上文所提的MECE原则。

    以下是逻辑推理的干货

    (1)归纳法:穷尽所有事物,推出一般规律

    比如:锐角三角形内角和为180°,直角三角形内角和为180°,钝角三角形内角和为180° 。并且,锐角、直角、钝角三角形穷尽了所有三角形。所以,三角形的内角和是180°。

    归纳法要符合MECE原则。

    前文中成功鸡汤学就不符合MECE原则,它并没有穷尽所有导致成功的因素。

    (2)演绎法:大前提+小前提+结论

    比如:大前提——知识分子都应该受到尊重;小前提——人民教师都是知识分子;结论:人民教师都应该受到尊重。

    大前提要保持客观事实,小前提中的事物是包含关系(知识分子包含人民教师),才能得出结论。

    四、

    如何训练结构化思维?

    (1)有效输出,实践应用

    • 搭框架,写文章。
    • 找一个论点试着演讲。
    • 在思考问题时有意识地利用框架分散思维。
    • 如果找不到框架,就罗列已知信息分类总结搭建框架。

    (2)积累结构

    1. 积累知名理论结构;
    2. 搭建自己的结构树。

    知名理论结构,比如:商业模式画布、营销4P理论、马斯洛需求原理等。搭建自己的结构树,即归纳出一套自己的方法论。比如:我之前遇到一个事时慌乱无比,然后迅速做了错误的决定。

    于是我搭建了这个结构树:

    所以以后我一旦慌乱,我就会告诉我自己,冷静冷静!!然后再依照我的结构树进入下一步。

    积累结构树,有助于我们在发散结构时更快速准确。

    结构化思维就介绍到这里了,希望大家都能理解结构树并加以运用~

    另外,对于产品经理来说,结构化思维可以运用于需求优先级评估、解决问题、分析需求等多种途径,核心是掌握这种思维方式。

     

    (来自:http://www.woshipm.com/it/981327.html   尊重原创,感谢作者分享!)

     

    转载于:https://www.cnblogs.com/javalyy/p/10931770.html

    展开全文
  • 2)逆向反馈优化法,以带有一定发散角的光束作为输入光束,用上一步获得的透镜作为初始结构,采用逆向反馈优化的方法作进一步优化设计。应用这种方法,以束腰为10 mm,发散半角为2.5°的发散激光光束为例,将其整形...
  • 这道题是一道思维题,实现没有太大意义,但是可以考验个人的发散思维能力。可以实现的方法千奇百怪,总结一下: 方法一:短路特性(通用)。利用逻辑与&&的短路条件n>0结束递归。 方法二:...

    2019.1.11     《剑指Offer》从零单刷个人笔记整理(66题全)目录传送门​​​​​​​

    这道题是一道思维题,实现没有太大意义,但是可以考验个人的发散思维能力。可以实现的方法千奇百怪,总结一下:

    方法一:短路特性(通用)。利用逻辑与&&的短路条件n>0结束递归。

    方法二:利用异常退出实现递归(Java)。为递归退出设置1%n除0异常。

    方法三:数组空间模拟乘法(C++)。利用sizeof取a[n][n+1]的空间大小,再利用逻辑右移>>1位,实现等差求和公式。

    方法四:利用静态成员变量+构造函数(C++)。创建n个对象实例,构造函数会调用n次,每次调用静态成员变量++即可。

    方法五:虚函数调用结束递归(C++)。n不为0时,调用自加函数;n为0时,调用结束函数;利用!!n获得n的bool值。

    方法六:函数指针(C++)。思想思路同虚函数,利用函数指针的方式来选择函数。

    方法七:模版类型(C++)。定义n开始递归的模板类Solution与Solution<1>,编译器会自动从参数N开始生成代码,到参数为1时,由于该类型已经显式定义,编译器无需生成,递归编译结束。需要注意的是编译代码的递归深度有限制,要求n不能太大。

    方法八:快速幂分解(通用)。int有32位,将n用二进制的思维看成二进制形式。例如5=0101=2^{0}+2^{2}。在等差公式中,需要计算(n*n+1)/2。可以看成6\times 5\div 2=(6\times 2^{0}+6\times 2^{2})>>1。实际实现的代码需要拆分32位分别计算后相加,虽然思路很清晰,但是代码复杂性和美观度不免要打个折扣。

    另外,其实还有比如借助pow函数实现的方法(一句return (int) (Math.pow(n, 2)+n)>>1;解决),但是我认为还是有点过分取巧了,pow底层调用了StrictMath类的pow函数,而在StrictMath类中方法用native修饰,应该是调用了C语言的代码,如果能够查看源码大概率是不符合题目要求的。这里姑且不把它当成一种方法


    题目描述

    求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。


    Java实现(方法一、二):

    /**
     * 
     * @author ChopinXBP
     * 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
     * 
     */
    
    public class SumSolution_45 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    			System.out.println(Sum_Solution(10));
    			System.out.println(Sum_Solution2(10));
    	}
    	
    	//利用短路特性实现递归,当n>0为假则后半部分不执行
        public static int Sum_Solution(int n) {
            int sum = n;
            boolean ans = (n>0)&&((sum+=Sum_Solution(n-1))>0);
            return sum;
        }
        
        //利用异常退出实现递归
    	public static int Sum_Solution2(int n) {
    		return sum(n);
    	}
    
    	public static int sum(int n) {
    		try {
    			int i = 1 % n;
    			return n + sum(n - 1);
    		} catch (Exception e) {
    			return 0;
    		}
    	}
    
    
    }
    

    C++实现示例(方法三至八):

    //方法三:数组空间模拟乘法
    class Solution {
    public:
        int Sum_Solution(int n) {
            bool a[n][n+1];
            return sizeof(a)>>1;
        }
    };
    
    
    //方法四:利用静态成员变量+构造函数
    class Temp
    {
    public:
        Temp() { ++ N; Sum += N; }
    
        static void Reset() { N = 0; Sum = 0; }
        static unsigned int GetSum() { return Sum; }
    
    private:
        static unsigned int N;
        static unsigned int Sum;
    };
    
    unsigned int Temp::N = 0;
    unsigned int Temp::Sum = 0;
    
    unsigned int Sum_Solution1(unsigned int n)
    {
        Temp::Reset();
    
        Temp *a = new Temp[n];
        delete []a;
        a = NULL;
    
        return Temp::GetSum();
    }
    
    
    //方法五:虚函数调用结束递归
    class A;
    A* Array[2];
    
    class A
    {
    public:
        virtual unsigned int Sum (unsigned int n) 
        { 
            return 0; 
        }
    };
    
    class B: public A
    {
    public:
        virtual unsigned int Sum (unsigned int n) 
        { 
            return Array[!!n]->Sum(n-1) + n; 
        }
    };
    
    int Sum_Solution2(int n)
    {
        A a;
        B b;
        Array[0] = &a;
        Array[1] = &b;
    
        int value = Array[1]->Sum(n);
    
        return value;
    }
    
    
    //方法六:函数指针
    typedef unsigned int (*fun)(unsigned int);
    
    unsigned int Solution3_Teminator(unsigned int n) 
    {
        return 0;
    }
    
    unsigned int Sum_Solution3(unsigned int n)
    {
        static fun f[2] = {Solution3_Teminator, Sum_Solution3}; 
        return n + f[!!n](n - 1);
    }
    
    
    //方法七:模版类型
    template <unsigned int n> struct Sum_Solution4
    {
        enum Value { N = Sum_Solution4<n - 1>::N + n};
    };
    
    template <> struct Sum_Solution4<1>
    {
        enum Value { N = 1};
    };
    
    template <> struct Sum_Solution4<0>
    {
        enum Value { N = 0};
    };
    
    
    //方法八:快速幂分解
    //奇数返回0xffffffff,否则0
    #define f(x) ((((x) & 1) << 31) >> 31)
    class Solution {
    public:
        int Sum_Solution(int n) {
            int a = n, b = n + 1, s = 0;
            //复制32次。。
            s += b & f(a); a >>= 1; b <<= 1;
            s += b & f(a); a >>= 1; b <<= 1;
            s += b & f(a); a >>= 1; b <<= 1;
            s += b & f(a); a >>= 1; b <<= 1;
            s += b & f(a); a >>= 1; b <<= 1;
            s += b & f(a); a >>= 1; b <<= 1;
            s += b & f(a); a >>= 1; b <<= 1;
            s += b & f(a); a >>= 1; b <<= 1;
             
            s += b & f(a); a >>= 1; b <<= 1;
            s += b & f(a); a >>= 1; b <<= 1;
            s += b & f(a); a >>= 1; b <<= 1;
            s += b & f(a); a >>= 1; b <<= 1;
            s += b & f(a); a >>= 1; b <<= 1;
            s += b & f(a); a >>= 1; b <<= 1;
            s += b & f(a); a >>= 1; b <<= 1;
            s += b & f(a); a >>= 1; b <<= 1;
             
            s += b & f(a); a >>= 1; b <<= 1;
            s += b & f(a); a >>= 1; b <<= 1;
            s += b & f(a); a >>= 1; b <<= 1;
            s += b & f(a); a >>= 1; b <<= 1;
            s += b & f(a); a >>= 1; b <<= 1;
            s += b & f(a); a >>= 1; b <<= 1;
            s += b & f(a); a >>= 1; b <<= 1;
            s += b & f(a); a >>= 1; b <<= 1;
             
            s += b & f(a); a >>= 1; b <<= 1;
            s += b & f(a); a >>= 1; b <<= 1;
            s += b & f(a); a >>= 1; b <<= 1;
            s += b & f(a); a >>= 1; b <<= 1;
            s += b & f(a); a >>= 1; b <<= 1;
            s += b & f(a); a >>= 1; b <<= 1;
            s += b & f(a); a >>= 1; b <<= 1;
            s += b & f(a); a >>= 1; b <<= 1;
            return s >> 1;
        }
    };

    #Coding一小时,Copying一秒钟。留个言点个赞呗,谢谢你#

    展开全文
  • 一组圆形发散的PPT素材.pptx,这是一组由圆形组合的PPT素材,分别代表总分结构、递进关系、对比关系逻辑,本PPT为矢量可编辑,在使用中可以修改为你自己的颜色。
  • 激光束发散角的测量对于激光制导、激光测量有着重要的意义,激光束发散角是激光质量的一个重要参数。大发散角激光照明在大范围散斑干涉测量中也有着重要应用。...该方法结构简单,对环境光有一定的抑制作用。
  • 模拟了带有模式扩展层的半导体激光器,研究了中心波导层、扩展...与普通结构比较,优化后的结构远场垂直发散角减小了20°左右,阈值电流并没有明显增加,模拟计算表明模式扩展层没有降低激光器的电学和温度稳定特性。
  • 除了原始发散函数外,还计算了Yang-Mills的两个相关函数,即两个重影,两个胶子顶点和四个重影的顶点,并研究了它们对下顶点的影响。 考虑它们的完整(横向)张量结构。 作为输入,使用完整的两点方程式(包括两环项...
  • 针对现有边发射半导体激光器远场发散角大、光束质量差等问题,引入光子晶体人工微结构实现模式扩展和模场分离,改善了单芯片半导体激光器的性能,实现了高亮度高光束质量的激光输出。理论分析并模拟了光子晶体半导体...
  • 报道了980 nm高功率低发散角垂直腔面...使用镀制额外金层的结构来改善远场发散角,将半角宽度由30°压缩到15°以下,改进后器件的输出功率略有下降。60 ℃恒电流模式寿命测试结果显示器件在800 h后输出功率衰减小于10%。
  • 域名收敛与域名发散

    2017-11-17 16:18:42
    DNS(通常 Internet 主机域名的一般结构为:主机名.三级域名.二级域名.顶级域名。) Tables http://www.w3school.com.cn/html/index.asp scheme://host.domain:port/path/filename 值 含义 Scheme 定义英特网...
  • 当你面对一个项目,或者进行一些工作、学习时,难免会有一种无从下手的感觉,尤其是思考一些比较...思维导图是由中心发散的条理结构,层次分明、条理清晰直观地展示出所要表达的所有内容,顺势刺激思维的拓展和思考...
  • 智力发散题 LeetCode #面试题 17.09 第K个数 先考虑一个问题。对于初始状态{1},我们应该怎么获得后续元素呢? 我们可以将{1}直接从数组中弹出,然后将他的3倍、5倍、7倍分别加入数组。 然后我们选择{3, 5, 7}中的...
  • 当你面对一个项目,或者进行一些工作、学习时,难免会有一种...简单来说,思维导图有3个作用:思维导图是由中心发散的条理结构,层次分明、条理清晰直观地展示出所要表达的所有内容,顺势刺激思维的拓展和思考。思维...
  • 前段时间项目要做域名... DNS( Domain Name System)是“域名系统”的英文缩写,是一种组织成域层次结构的计算机和网络服务命名系统,它用于TCP/IP网络,它所提供的服务是用来将主机名和域名转换为IP地址的工作。 ...
  • 树形结构

    2020-12-11 11:12:18
    树是一种数据结构,由边连接而成(java中使用引用来表示边),树的顶层只有一个节点,然后向下发散,类似颠倒的树 树的术语 1.路径:一个节点到另一个节点之间经过节点的顺序排列 2.根:树顶端的节点 3.父节点,子...
  • 循环结构 while循环

    2020-11-01 21:06:37
    循环结构 循环结构: while 语句 语法结构: while (表达式) 循环语句: 一段代码举例,打印一到十的数字 #include<...发散一下,如果在 while 语句加上 break 关键字会怎么样呢? #include<stdio.
  • 结构化思维的一种土话理解

    千次阅读 2018-08-14 09:53:47
    以前对结构化思维并不太了解。最近有些感想,地铁上聊聊。2018/8/10 #归纳和演绎# 我还是初中生的时候,在一本书提到了两种思维模式、令人二十年来都难以忘怀。一种是自底向上、发散式、启发式的思维,从现象...
  • 我们表明,速度发散是与远处横切面胶子交换的结果,并且在结构上等同于紫外线发散。 它可以为快速散度制定和证明重归一化定理。 证明是在将速度发散映射为紫外线发散的共形变换的帮助下进行的。 该定理是速度散度...
  • 精密的榫卯结构、璀璨的木雕工艺,木艺作为百工之首,一直以来,都是中华民族五千年历史长河中的璀璨明珠。此次农行“小小木匠”活动,以中国传统木艺为切入点,通过让孩子和家长一起制作精美木工音...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 624
精华内容 249
关键字:

发散结构