SlideShare a Scribd company logo
1 of 60
NOIP2003
田劲锋
神经网络
侦探推理
加分二叉树
传染病控制
总结
.
.
. ..
.
.
NOIP2003
提高组 解题报告
田劲锋
anytjf@gmail.com
November 1, 2010
幻灯片下载地址: http://code.google.com/p/kingfree/
NOIP2003
田劲锋
神经网络
问题描述
输入输出
问题分析
我的题解
侦探推理
加分二叉树
传染病控制
总结
神经网络 (sjwl)
【问题背景】
人工神经网络(Artificial Neural Network)是一种新兴的具
有自我学习能力的计算系统,在模式识别、函数逼近及贷款风险
评估等诸多领域有广泛的应用。对神经网络的研究一直是当今的
热门方向,兰兰同学在自学了一本神经网络的入门书籍后,提出
了一个简化模型,他希望你能帮助他用程序检验这个神经网络模
型的实用性。
NOIP2003
田劲锋
神经网络
问题描述
输入输出
问题分析
我的题解
侦探推理
加分二叉树
传染病控制
总结
【问题描述】
在兰兰的模型中,神经网络就是一张有向图,图中的节点称
为神经元,而且两个神经元之间至多有一条边相连,下图是一个
神经元的例子:
Figure: 神经元(编号为 1)
图中, x1-x3 是信息输入渠道, y1-y2 是信息输出渠道, Ci 表示
神经元目前的状态, Ui 是阈值,可视为神经元的一个内在参数。
NOIP2003
田劲锋
神经网络
问题描述
输入输出
问题分析
我的题解
侦探推理
加分二叉树
传染病控制
总结
神经元按一定的顺序排列,构成整个神经网络。在兰兰的模型
之中,神经网络中的神经无分为几层:称为输入层、输出层,和若
干个中间层。每层神经元只向下一层的神经元输出信息,只从上
一层神经元接受信息。下图是一个简单的三层神经网络的例子。
NOIP2003
田劲锋
神经网络
问题描述
输入输出
问题分析
我的题解
侦探推理
加分二叉树
传染病控制
总结
兰兰规定, Ci 服从公式:
Ci =
∑
(j,i)∈E
WjiCj − Ui
(其中 n 是网络中所有神经元的数目)
公式中的 Wji(可能为负值)表示连接 j 号神经元和 i 号神经
元的边的权值。当 Ci 大于 0 时,该神经元处于兴奋状态,否则就
处于平静状态。当神经元处于兴奋状态时,下一秒它会向其他神
经元传送信号,信号的强度为 Ci。
如此。在输入层神经元被激发之后,整个网络系统就在信息传
输的推动下进行运作。现在,给定一个神经网络,及当前输入层神
经元的状态(Ci),要求你的程序运算出最后网络输出层的状态。
NOIP2003
田劲锋
神经网络
问题描述
输入输出
问题分析
我的题解
侦探推理
加分二叉树
传染病控制
总结
【输入】
输入文件第一行是两个整数 n
(1 ≤ n ≤ 20)和 p 。接下来 n
行,每行两个整数,第 i+1 行是
神经元 i 最初状态和其阈值
(Ui),非输入层的神经元开始
时状态必然为 0 。再下面 p 行,
每行由两个整数 i,j 及一个整数
Wij,表示连接神经元 i,j 的边权
值为 Wij。
5 6
1 0
1 0
0 1
0 1
0 1
1 3 1
1 4 1
1 5 1
2 3 1
2 4 1
2 5 1
NOIP2003
田劲锋
神经网络
问题描述
输入输出
问题分析
我的题解
侦探推理
加分二叉树
传染病控制
总结
【输出】
输出文件包含若干行,每行有两
个整数,分别对应一个神经元的
编号,及其最后的状态,两个整
数间以空格分隔。仅输出最后状
态非零的输出层神经元状态,并
且按照编号由小到大顺序输出!
若输出层的神经元最后状态均为
0 ,则输出 NULL 。
3 1
4 1
5 1
NOIP2003
田劲锋
神经网络
问题描述
输入输出
问题分析
我的题解
侦探推理
加分二叉树
传染病控制
总结
【问题分析】
这是一道基本题,但是题目阅读起来有些费神,容易使人混
淆,多次读题才能发现其意义。
根据题意,我们要在这个网络(其实是一维的)上递推。题目
上虽然给了一个递归公式,并且题中 i,j 的意义不是很明白,我们
可以把它化为(此时 W 是一维的):
Ci = Ci + Wj × Cj 起点 − Ui
然后循环,依次递推求值。注意循环的层次及语句在循环体中的
位置。
题中边的权值 W,神经元的状态值 C,阀值 U,均未明确指
出其取值范围,反映出命题不严谨,我们这里取 200 即可。
输出时需要判断,注意划线部分的提醒。
NOIP2003
田劲锋
神经网络
问题描述
输入输出
问题分析
我的题解
侦探推理
加分二叉树
传染病控制
总结
【我的题解】
1 program sjwl ;
2 var i , j , n , p ,m: word ;
3 a , x , y ,w, c , u : array [ 1 . . 2 0 0 ] of word ;
4 no : boolean ;
5 begin
6 assign ( input , 'sjwl.in') ; reset ( input ) ;
7 assign ( output , 'sjwl.out') ; rewrite ( output ) ;
8 readln (n , p) ;
9 for i :=1 to n do readln ( c [ i ] , u [ i ] ) ;
10 f i l l c h a r (a , s i z e o f (a) ,0) ;
11 for i :=1 to p do
12 begin
13 readln (x [ i ] , y [ i ] ,w[ i ] ) ;
14 //读入起点 x、终点 y、权值 w
15 a [ y [ i ]]:= a [ x [ i ]]+1;
16 //终点层数(比起点大 1)
17 end;
18 m:=a [ y [ p ] ] ; //求最大层数,即输出层的层数
NOIP2003
田劲锋
神经网络
侦探推理
问题描述
输入输出
问题分析
我的题解
加分二叉树
传染病控制
总结
19 for i :=1 to n do i f a [ i ]>0 then
20 begin
21 for j :=1 to p do
22 //Ci =
∑
(j,i)∈E WjiCj − Ui
23 i f (y [ j ]= i )and( c [ x [ j ]] >0)
24 then c [ i ]:= c [ i ]+w[ j ]* c [ x [ j ] ] ;
25 c [ i ]:= c [ i ]−u [ i ] ; //Ci − Ui
26 end;
27 no:=true ; //输出
28 for i :=1 to n do
29 i f (a [ i ]=m)and( c [ i ]>0) then
30 begin
31 writeln ( i , '␣' , c [ i ] ) ;
32 no:= false ;
33 end;
34 i f no then writeln ('NULL') ;
35 close ( input ) ; close ( output ) ;
36 end.
NOIP2003
田劲锋
神经网络
侦探推理
问题描述
输入输出
问题分析
我的题解
加分二叉树
传染病控制
总结
侦探推理 (logic)
NOIP2003
田劲锋
神经网络
侦探推理
问题描述
输入输出
问题分析
我的题解
加分二叉树
传染病控制
总结
【问题描述】
明明同学最近迷上了侦探漫画《柯南》并沉醉于推理游戏之
中,于是他召集了一群同学玩推理游戏。游戏的内容是这样的,明
明的同学们先商量好由其中的一个人充当罪犯(在明明不知情的
情况下),明明的任务就是找出这个罪犯。接着,明明逐个询问每
一个同学,被询问者可能会说:
证词内容 证词含义
I am guilty. 我是罪犯。
I am not guilty. 我不是罪犯。
XXX is guilty. XXX 是罪犯。
XXX is not guilty. XXX 不是罪犯。
Today is XXX. 今天是 XXX(XXX 表示星期几,是
Monday Tuesday Wednesday Thursday
Friday Saturday Sunday 其中之一)
NOIP2003
田劲锋
神经网络
侦探推理
问题描述
输入输出
问题分析
我的题解
加分二叉树
传染病控制
总结
证词中出现的其他话,都不列入逻辑推理的内容。
明明所知道的是,他的同学中有 N 个人始终说假话,其余的
人始终说真。
现在,明明需要你帮助他从他同学的话中推断出谁是真正的
凶手,请记住,凶手只有一个!
NOIP2003
田劲锋
神经网络
侦探推理
问题描述
输入输出
问题分析
我的题解
加分二叉树
传染病控制
总结
【输入】
输入由若干行组成,第一行有三个整数,M (1 ≤ M ≤ 20)、
N (1 ≤ N ≤ M)和 P(1 ≤ P ≤ 100);M 是参加游戏的明明的
同学数,N 是其中始终说谎的人数,P 是证言的总数。接下来 M
行,每行是明明的一个同学的名字(英文字母组成,没有空格,全
部大写)。
往后有 P 行,每行开始是某个同学的名宇,紧跟着一个冒号
和一个空格,后面是一句证词,符合前表中所列格式。证词每行不
会超过 250 个字符。
输入中不会出现连续的两个空格,而且每行开头和结尾也没
有空格。
NOIP2003
田劲锋
神经网络
侦探推理
问题描述
输入输出
问题分析
我的题解
加分二叉树
传染病控制
总结
3 1 5
MIKE
CHARLES
KATE
MIKE: I am guilty.
MIKE: Today is Sunday.
CHARLES: MIKE is guilty.
KATE: I am guilty.
KATE: How are you??
NOIP2003
田劲锋
神经网络
侦探推理
问题描述
输入输出
问题分析
我的题解
加分二叉树
传染病控制
总结
【输出】
如果你的程序能确定谁是罪犯,
则输出他的名字;如果程序判断
出不止一个人可能是罪犯,则输
出 Cannot Determine ;如果程
序判断出没有人可能成为罪犯,
则输出 Impossible 。
MIKE
NOIP2003
田劲锋
神经网络
侦探推理
问题描述
输入输出
问题分析
我的题解
加分二叉树
传染病控制
总结
【问题分析】
题目看似简单,实现起来很难。可以穷举 M 个人中的某一个
是罪犯,由此再来判断每句证词的真伪,推断谁说真话谁说假话。
NOIP2003
田劲锋
神经网络
侦探推理
问题描述
输入输出
问题分析
我的题解
加分二叉树
传染病控制
总结
有几点必须注意:
不能说找到某人是罪犯或可能是罪犯就完事了,还必须确保
是否还有别人是罪犯或可能是罪犯;
如何处理关于星期的证词呢?还是可以采用穷举;
某人的证词可能前后矛盾,在给某人标记他是始终说真话还
是始终说假话时,一定要考察他此前的诚信记录;因此,对某
人的诚信记录要有 4 种不同的区分,可用 0 表示此人尚无有
效记录(未说过真话也未说过假话),用 1 表示此人说真话,
用 2 表示此人说假话,用 3 表示此人说的话与他前面的证词
冲突;
如何判断最初穷举时设定的前提(某人是罪犯)是否是本题
的一个解呢?如果有人的诚信记录为 3 ,则肯定不是本题的
解;但是也不能强求诚信记录为 2 的人的总数一定要等于 n ,
而是只要诚信记录为 2 的人不超过 n 且诚信记录为 1 的人不
超过 m-n 即可,因为诚信记录为 0 的人可能说真话也可能说
假话,他们只是没有说话,或只说了废话。
由于证词要反复用于判断,可以先剔除其中的无效证词;为
处理方便,将有效证词分为两部分:不含星期的和含星期的。
NOIP2003
田劲锋
神经网络
侦探推理
问题描述
输入输出
问题分析
我的题解
加分二叉树
传染病控制
总结
总的来说,这道题太让人纠结了!联赛如果真的遇到这种题
目,就可以基本放弃了,因为代码写下来有 200 行左右,需要很
长的时间。整个题目调试起来也很不方便,并且需要很强的逻辑思
维能力。当然如果你写完后两道题的话,可以再来看看这道题目。
NOIP2003
田劲锋
神经网络
侦探推理
问题描述
输入输出
问题分析
我的题解
加分二叉树
传染病控制
总结
【我的题解】
1 program l o g i c ;
2 const maxm=20;
3 dow: array [ 1 . . 7 ] of string=('Sunday.' , 'Monday.
' , 'Tuesday.' , 'Wednesday.' , 'Thursday.' , '
Friday.' , 'Saturday.') ;
4 var i , j , k , weekday ,m, n , p , p1 , p2 , p3 , index , rs , sum1
, sum2 : byte ;
5 name : array [ 1 . .maxm] of string ;
6 {人名}
7 pep10 , pep20 : array [ 1 . . 1 0 0 ] of byte ;
8 {说话人的序号, 分为两类, 前者存放不含星期的证词的说话人
的序号, 后者存放只含星期的证词的说话人的序号}
9 pep1 , pep2 : array [ 1 . . 1 0 0 ] of string ;
10 {证词, 分为两类, 第一类是不含星期的证词, 第二类是只含星
期的证词}
11 name0 , tmp, tmp0 , tmp1 , tmp2 : string ;
12 t , t0 : array [ 1 . .maxm] of byte ;
13 {诚信记录, 无记录 0, 真为 1, 假为 2, 自相矛盾 3}
14 f l a g : boolean ;
NOIP2003
田劲锋
神经网络
侦探推理
问题描述
输入输出
问题分析
我的题解
加分二叉树
传染病控制
总结
15
16 procedure pre ; {预处理过程}
17 begin
18 sum1:=0; sum2:=0;
19 for i :=1 to p do
20 begin
21 readln (tmp) ;
22 index:=pos ( ':␣' ,tmp) ;
23 tmp1:=copy (tmp,1 , index −1) ;
24 {取得说话人姓名}
25 tmp2:=copy (tmp, index+2, length (tmp)−index
−1) ; {取得证
词}
26 i f (tmp2='I␣am␣guilty.') or (tmp2='I␣am␣
not␣guilty.') then
27 for j :=1 to m do i f name [ j ]=tmp1 then
28 begin
29 inc (sum1) ;
30 {sum1 表示第一类证词的总数}
31 pep10 [ sum1]:= j ;
32 {记下第一类第 sum1 条证词的说话人的序号}
NOIP2003
田劲锋
神经网络
侦探推理
问题描述
输入输出
问题分析
我的题解
加分二叉树
传染病控制
总结
33 pep1 [ sum1]:=tmp2 ;
34 {记下第一类第 sum1 条证词}
35 break ;
36 end;
37 i f ( pos ( '␣is␣guilty.' ,tmp2)>0) or ( pos ( '␣
is␣not␣guilty.' ,tmp2)>0) then
38 begin
39 tmp0:=copy (tmp2 ,1 , pos ( '␣is␣' ,tmp2)−1) ;
40 {取得证词的主语}
41 f l a g := false ;
42 for k:=1 to m do i f tmp0=name [ k ] then
43 begin
44 f l a g :=true ;
45 break ;
46 end;
47 i f f l a g then
48 {如果证词的主语确实存在}
49 for j :=1 to m do
50 i f name [ j ]=tmp1 then
51 begin{记入到第一类证词中}
52 inc (sum1) ;
NOIP2003
田劲锋
神经网络
侦探推理
问题描述
输入输出
问题分析
我的题解
加分二叉树
传染病控制
总结
53 pep10 [ sum1]:= j ;
54 pep1 [ sum1]:=tmp2 ;
55 break ;
56 end;
57 end;
58 f l a g := false ;
59 for j :=1 to 7 do
60 i f tmp2='Today␣is␣'+ dow[ j ] then
61 begin
62 f l a g :=true ;
63 break ;
64 end;
65 i f f l a g then
66 {如果证词是关于星期的判断}
67 for j :=1 to m do
68 i f name [ j ]=tmp1 then
69 begin{记入到第二类证词中}
70 inc (sum2) ;
71 {sum2 表示第二类证词的总数}
72 pep20 [ sum2]:= j ;
73 {记下第二类第 sum2 条证词的说话人的序号}
NOIP2003
田劲锋
神经网络
侦探推理
问题描述
输入输出
问题分析
我的题解
加分二叉树
传染病控制
总结
74 pep2 [ sum2]:=tmp2 ;
75 {记下第二类第 sum2 条证词}
76 break ;
77 end;
78 end;
79 end;
80
81 procedure find ; {判断过程}
82 begin
83 for j :=1 to sum1 do{第一类证词}
84 begin
85 i f pep1 [ j ]='I␣am␣guilty.' then
86 begin
87 i f i=pep10 [ j ] then
88 {如果说话人就是罪犯, 则本证词为真}
89 case t [ i ] of
90 0: t [ i ]:=1;
91 {如果此人还没说话, 则真话}
92 2: t [ i ]:=3;
93 {如果此人说过假话, 则自相矛盾}
94 end
NOIP2003
田劲锋
神经网络
侦探推理
问题描述
输入输出
问题分析
我的题解
加分二叉树
传染病控制
总结
95 else
96 {如果说话人不是罪犯, 则本证词为假}
97 case t [ pep10 [ j ] ] of
98 0: t [ pep10 [ j ] ] : = 2 ;
99 {如果此人还没说话, 则假话}
100 1: t [ pep10 [ j ] ] : = 3 ;
101 {如果此人说过真话, 则自相矛盾}
102 end;
103 end;
104 i f pep1 [ j ]='I␣am␣not␣guilty.' then
105 begin
106 i f i=pep10 [ j ] then
107 {如果说话人是罪犯, 则证词为假}
108 case t [ i ] of
109 0: t [ i ]:=2;
110 1: t [ i ]:=3;
111 end
112 else
113 {如果说话人不是罪犯, 则证词为真}
114 case t [ pep10 [ j ] ] of
115 0: t [ pep10 [ j ] ] : = 1 ;
NOIP2003
田劲锋
神经网络
侦探推理
问题描述
输入输出
问题分析
我的题解
加分二叉树
传染病控制
总结
116 2: t [ pep10 [ j ] ] : = 3 ;
117 end;
118 end;
119 i f ( pos ( '␣is␣guilty.' , pep1 [ j ] ) >0) then
120 begin
121 tmp:=copy ( pep1 [ j ] ,1 , pos ( '␣is␣guilty.' ,
pep1 [ j ] ) −1) ;
122 {取得证词的主语}
123 i f name [ i ]=tmp then
124 {如果证词的主语是罪犯, 则本证词为真}
125 case t [ pep10 [ j ] ] of
126 0: t [ pep10 [ j ] ] : = 1 ;
127 2: t [ pep10 [ j ] ] : = 3 ;
128 end
129 else
130 {如果证词的主语不是罪犯, 则本证词为假}
131 case t [ pep10 [ j ] ] of
132 0: t [ pep10 [ j ] ] : = 2 ;
133 1: t [ pep10 [ j ] ] : = 3 ;
134 end;
135 end;
NOIP2003
田劲锋
神经网络
侦探推理
问题描述
输入输出
问题分析
我的题解
加分二叉树
传染病控制
总结
136 i f ( pos ( '␣is␣not␣guilty.' , pep1 [ j ] ) >0) then
137 begin
138 tmp:=copy ( pep1 [ j ] ,1 , pos ( '␣is␣not␣guilty.
' , pep1 [ j ] ) −1) ;
139 {取得证词的主语}
140 i f name [ i ]=tmp then
141 {如果证词的主语是罪犯, 则本证词为假}
142 case t [ pep10 [ j ] ] of
143 0: t [ pep10 [ j ] ] : = 2 ;
144 1: t [ pep10 [ j ] ] : = 3 ;
145 end
146 else
147 {如果证词的主语不是罪犯, 则本证词为真}
148 case t [ pep10 [ j ] ] of
149 0: t [ pep10 [ j ] ] : = 1 ;
150 2: t [ pep10 [ j ] ] : = 3 ;
151 end;
152 end;
153 end;
154
155 i f sum2>0 then{第二类证词}
NOIP2003
田劲锋
神经网络
侦探推理
问题描述
输入输出
问题分析
我的题解
加分二叉树
传染病控制
总结
156 begin
157 for k:=1 to m do t0 [ k]:= t [ k ] ;
158 {记下第一类证词全部处理完毕后的诚信记录}
159 for weekday:=1 to 7 do
160 begin{穷举, 今天是星期日, 星期一直到星期六}
161 for k:=1 to m do t [ k]:= t0 [ k ] ;
162 {诚信记录还原为第一类证词全部处理完毕后的诚信记
录}
163 for j :=1 to sum2 do
164 {逐条处理第二类证词}
165 i f pos (dow[ weekday ] , pep2 [ j ] )>0 then
166 {如果证词中含有当前穷举的星期值, 则本证词为真}
167 case t [ pep20 [ j ] ] of
168 0: t [ pep20 [ j ] ] : = 1 ;
169 2: t [ pep20 [ j ] ] : = 3 ;
170 end
171 else
172 {如果证词中不含有当前穷举的星期值, 则本证词为假}
173 case t [ pep20 [ j ] ] of
174 0: t [ pep20 [ j ] ] : = 2 ;
175 1: t [ pep20 [ j ] ] : = 3 ;
NOIP2003
田劲锋
神经网络
侦探推理
问题描述
输入输出
问题分析
我的题解
加分二叉树
传染病控制
总结
176 end;
177 p1:=0;p2:=0;p3:=0;
178 for k:=1 to m do i f t [ k]=1 then inc (p1) ;
179 {p1 表示始终说真话的人的总数}
180 for k:=1 to m do i f t [ k]=2 then inc (p2) ;
181 {p2 表示始终说假话的人的总数}
182 for k:=1 to m do i f t [ k]=3 then inc (p3) ;
183 {p3 表示说过自相矛盾的话的人的总数}
184 i f (p1<=m−n) and (p2<=n) and (p3=0) then
185 begin
186 {如果说真话的人的总数小于等于 m-n 且说假话的人的
总数小于等于 n 且没有人说过自相矛盾的话, 那么
当前罪犯 i 就是本题的一个解}
187 name0:=name [ i ] ;
188 {记下罪犯的姓名}
189 inc ( rs ) ;
190 {解的个数增 1}
191 break ;
192 {退出星期的穷举}
193 end;
194 end; {星期的穷举完毕}
NOIP2003
田劲锋
神经网络
侦探推理
问题描述
输入输出
问题分析
我的题解
加分二叉树
传染病控制
总结
195 end; {第二类证词处理完毕}
196 end;
197
198 begin
199 assign ( input , 'logic.in') ; reset ( input ) ;
200 assign ( output , 'logic.out') ; rewrite ( output ) ;
201 readln (m, n , p) ;
202 for i :=1 to m do readln (name [ i ] ) ;
203 pre ; {调用预处理过程}
204 rs :=0;{rs 表示解的个数}
205 for i :=1 to m do
206 begin{穷举, 第 i 个人为罪犯}
207 i f rs >1 then break ;
208 {如果解的个数多于 1 个, 则跳出循环}
209 f i l l c h a r ( t , s i z e o f ( t ) ,0) ;
210 {诚信记录赋初值为 0, 表示此人尚无有效证词}
211 find ; {调用判断过程}
212 p1:=0; p2:=0; p3:=0;
213 for k:=1 to m do i f t [ k]=1 then inc (p1) ;
214 for k:=1 to m do i f t [ k]=2 then inc (p2) ;
215 for k:=1 to m do i f t [ k]=3 then inc (p3) ;
NOIP2003
田劲锋
神经网络
侦探推理
加分二叉树
问题描述
输入输出
问题分析
我的题解
传染病控制
总结
216 i f (p1<=m−n) and (p2<=n) and (p3=0) and (
name0<>name [ i ] ) then
217 begin
218 {为避免重复计解, 此处多加了一个条件:
name0<>name[i]}
219 name0:=name [ i ] ;
220 inc ( rs ) ;
221 end;
222 end;
223 i f rs=1 then writeln (name0) ;
224 {只有一个解}
225 i f rs=0 then writeln ('Impossible') ;
226 {无解}
227 i f rs >1 then writeln ('Cannot␣Determine') ;
228 {多个可能解}
229 close ( input ) ; close ( output ) ;
230 end.
NOIP2003
田劲锋
神经网络
侦探推理
加分二叉树
问题描述
输入输出
问题分析
我的题解
传染病控制
总结
加分二叉树 (jfecs)
NOIP2003
田劲锋
神经网络
侦探推理
加分二叉树
问题描述
输入输出
问题分析
我的题解
传染病控制
总结
【问题描述】
设一个 n 个节点的二叉树 tree 的中序遍历为(l,2,3,…,n ),
其中数字 1,2,3,…,n 为节点编号。每个节点都有一个分数(均为正
整数),记第 j 个节点的分数为 di ,tree 及它的每个子树都有一
个加分,任一棵子树 subtree (也包含 tree 本身)的加分计算方
法如下:
左子树的加分 × 右子树的加分 + 根的分数
若某个子树为空,规定其加分为 1 ,叶子的加分就是叶节点
本身的分数。不考虑它的空子树。
试求一棵符合中序遍历为(1,2,3,…,n )且加分最高的二叉树
tree 。要求输出:
(1) tree 的最高加分
(2) tree 的前序遍历
NOIP2003
田劲锋
神经网络
侦探推理
加分二叉树
问题描述
输入输出
问题分析
我的题解
传染病控制
总结
【输入】
第 1 行:一个整数 n (n < 30),
为节点个数。
第 2 行:n 个用空格隔开的整数,
为每个节点的分数(分数
< 100)。
5
5 7 1 2 10
NOIP2003
田劲锋
神经网络
侦探推理
加分二叉树
问题描述
输入输出
问题分析
我的题解
传染病控制
总结
【输出】
第 1 行:一个整数,为最高加分
(结果不会超过 4,000,000,000 )。
第 2 行:n 个用空格隔开的整数,
为该树的前序遍历。
145
3 1 2 4 5
NOIP2003
田劲锋
神经网络
侦探推理
加分二叉树
问题描述
输入输出
问题分析
我的题解
传染病控制
总结
【问题分析】
典型的动态规划题目,所以直接推导动归方程。
设在中序遍历中第 i 到第 j 个节点所组成的子树的最大加分是
F[i, j],根为 r[i, j],推得状态转移方程如下:
F[i, j] = max{F[i, p − 1] × F[p + 1, j] + F[p, p] , F[i, j]}
r[i, j] = 使F[i, j] 最大的 p 的值 (i ≤ p ≤ j)
所得最大加分为 F[1, n]。
前序遍历要在 r 状态中递归得出。即过程 print 。
几乎每年联赛的第三题永远是动态规划。所以动态规划题目
的练习很重要,尤其是要在有限时间内找到相应关系,推导出正
确的状态转移方程。
NOIP2003
田劲锋
神经网络
侦探推理
加分二叉树
问题描述
输入输出
问题分析
我的题解
传染病控制
总结
【我的题解】
1 program j f e c s ;
2 const maxn=30;
3 var n , i , j , k , p : integer ;
4 r : array [ 0 . . maxn , 0 . . maxn] of integer ;
5 f : array [ 0 . . maxn , 0 . . maxn] of longword ;
6 f i r s t : boolean ;
7
8 procedure print ( i , j : integer ) ;
9 var k : integer ;
10 begin
11 k:=r [ i , j ] ;
12 i f k<>0 then
13 begin{前序遍历输出}
14 i f f i r s t then
15 begin write (k) ; f i r s t := false ; end
16 else write ('␣' ,k) ;
17 print ( i , k−1) ;
18 print (k+1, j ) ;
19 end;
NOIP2003
田劲锋
神经网络
侦探推理
加分二叉树
问题描述
输入输出
问题分析
我的题解
传染病控制
总结
20 end;
21
22 begin
23 assign ( input , 'jfecs.in') ; reset ( input ) ;
24 assign ( output , 'jfecs.out') ; rewrite ( output ) ;
25 readln (n) ;
26 for i :=0 to n do{初始化}
27 for j :=0 to n do
28 begin
29 r [ i , j ]:=0;
30 f [ i , j ]:=1;
31 end;
32 for i :=1 to n do{读入}
33 begin
34 read( f [ i , i ] ) ;
35 r [ i , i ]:= i ;
36 end;
37 for k:=1 to n−1 do{动态规划}
38 for i :=1 to n−k do
39 begin
40 j := i+k ;
NOIP2003
田劲锋
神经网络
侦探推理
加分二叉树
传染病控制
问题描述
输入输出
问题分析
我的题解
总结
41 for p:= i to j do
42 i f f [ i , j ]< f [ i , p−1]* f [ p+1, j ]+ f [ p , p ]
then
43 begin
44 f [ i , j ]:= f [ i , p−1]* f [ p+1, j ]+ f [ p , p ] ;
45 r [ i , j ]:=p ;
46 end;
47 end;
48 writeln ( f [1 , n ] ) ; {最大加分}
49 f i r s t :=true ;
50 print (1 ,n) ; {前序遍历输出}
51 writeln ;
52 close ( input ) ; close ( output ) ;
53 end.
NOIP2003
田劲锋
神经网络
侦探推理
加分二叉树
传染病控制
问题描述
输入输出
问题分析
我的题解
总结
传染病控制 (epidemic)
近来,一种新的传染病肆虐全球。蓬莱国也发现了零星感染
者,为防止该病在蓬莱国大范围流行,该国政府决定不惜一切代
价控制传染病的蔓延。不幸的是,由于人们尚未完全认识这种传
染病,难以准确判别病毒携带者,更没有研制出疫苗以保护易感
人群。于是,蓬莱国的疾病控制中心决定采取切断传播途径的方
法控制疾病传播。经过 WHO (世界卫生组织)以及全球各国科
研部门的努力,这种新兴传染病的传播途径和控制方法已经研究
消除,剩下的任务就是由你协助蓬莱国疾控中心制定一个有效的
控制办法。
NOIP2003
田劲锋
神经网络
侦探推理
加分二叉树
传染病控制
问题描述
输入输出
问题分析
我的题解
总结
【问题描述】
研究表明,这种传染病的传播具有两种很特殊的性质;第一
是它的传播途径是树型的,一个人 X 只可能被某个特定的人 Y 感
染,只要 Y 不得病,或者是 XY 之间的传播途径被切断,则 X 就
不会得病。第二是,这种疾病的传播有周期性,在一个疾病传播周
期之内,传染病将只会感染一代患者,而不会再传播给下一代。
这些性质大大减轻了蓬莱国疾病防控的压力,并且他们已经
得到了国内部分易感人群的潜在传播途径图(一棵树)。但是,麻
烦还没有结束。由于蓬莱国疾控中心人手不够,同时也缺乏强大
的技术,以致他们在一个疾病传播周期内,只能设法切断一条传
播途径,而没有被控制的传播途径就会引起更多的易感人群被感
染(也就是与当前已经被感染的人有传播途径相连,且连接途径
没有被切断的人群)。当不可能有健康人被感染时,疾病就中止传
播。所以,蓬莱国疾控中心要制定出一个切断传播途径的顺序,以
使尽量少的人被感染。
NOIP2003
田劲锋
神经网络
侦探推理
加分二叉树
传染病控制
问题描述
输入输出
问题分析
我的题解
总结
你的程序要针对给定的树,找出合适的切断顺序。
【输入】
输入格式的第一行是两个整数 n
(1 ≤ n ≤ 300)和 p 。接下来 p
行,每一行有两个整数 i 和 j ,
表示节点 i 和 j 间有边相连(意
即,第 i 人和第 j 人之间有传播
途径相连)。其中节点 1 是已经
被感染的患者。
7 6
1 2
1 3
2 4
2 5
3 6
3 7
NOIP2003
田劲锋
神经网络
侦探推理
加分二叉树
传染病控制
问题描述
输入输出
问题分析
我的题解
总结
【输出】
只有一行,输出总共被感染的人
数。 3
NOIP2003
田劲锋
神经网络
侦探推理
加分二叉树
传染病控制
问题描述
输入输出
问题分析
我的题解
总结
【问题分析】
本题关键是要找到切断传
染途径的算法,这并不难。
根据样例输入,得出下树。
1



2
{
4
5
3
{
6
7
可以这样切断传播途径:
(1)1 被感染,切断 1-2;
(2)3 被感染,切断 3-6;
(3)7 被感染,没有子树,
完成。
每次切断都进行优化,即
把已感染的合并为一个节
点,如第 (1) 步可化为下
图。
3
{
6
7
程序使用递归,采用动态
规划的方法进行运算。其
中用指针实现动态数组来
存储树,为节省运行时间,
最后没有释放指针。
NOIP2003
田劲锋
神经网络
侦探推理
加分二叉树
传染病控制
问题描述
输入输出
问题分析
我的题解
总结
【我的题解】
1 program epidemic ;
2 const maxn=300;maxp=300;
3 type node=array [ 0 . . maxp] of integer ;
4 {节点数据类型是一维数组,其中下标为 0 的元素中存放该节点
的孩子节点个数,下标为 1 的元素中存放该节点的第 1 个
孩子的节点序号,下标为 i 的元素中存放该节点的第 i 个孩
子的节点序号}
5 var i , n , p , min ,max, s , ans : integer ;
6 a : array [ 1 . . maxn] of ^node ;
7 {存放 n 个节点的数据,使用常规数组容量是不够的,故采用动
态数组}
8
9 procedure swap(var x , y : integer ) ;
10 var tmp: integer ;
11 begin
12 tmp:=x ;
13 x:=y ;
14 y:=tmp;
15 end;
16
NOIP2003
田劲锋
神经网络
侦探推理
加分二叉树
传染病控制
问题描述
输入输出
问题分析
我的题解
总结
17 procedure find ( i : integer ) ;
18 {求以 i 为根节点的树中被感染人数的最少值}
19 var root1 , root2 , j , k ,m, tmp, s0 : integer ;
20 b : node ;
21 f l a g : boolean ;
22 begin
23 i f a [ i ]^[0] <=1 then
24 begin
25 i f s<ans then ans:=s ;
26 exit ;
27 end;
28 s0:=s ; {记下上一层递归完后的感染人数}
29 f l a g :=true ; {逻辑标志}
30 for j :=1 to a [ i ] ^ [ 0 ] do
31 i f (a [ a [ i ] ^ [ j ]]^[0] >0) then
32 begin
33 {依次切断根节点 i 的第 j 个孩子,这里进行了优化,如果
根节点 i 的第 j 个孩子是叶子节点则暂不考虑}
34 f l a g := false ;
35 s:=s0+a [ i ]^[0] −1;
36 {切断 j 的同时,被感染的人数增加了 a[i][̂0]-1 个}
NOIP2003
田劲锋
神经网络
侦探推理
加分二叉树
传染病控制
问题描述
输入输出
问题分析
我的题解
总结
37 i f j=1 then root1 :=2 else root1 :=1;
38 {选根节点 i 的第 root1 个孩子为新树的根节点}
39 root2:=a [ i ] ^ [ root1 ] ;
40 {求新树的根节点的序号}
41 tmp:=a [ root2 ] ^ [ 0 ] ;
42 {求新树的根节点的孩子数}
43 for k:=1 to tmp do b [ k]:=a [ root2 ] ^ [ k ] ;
44 {记下合并前新树的根节点的孩子情况}
45 for k:=1 to a [ i ] ^ [ 0 ] do
46 {开始合并生成新的树}
47 i f (k<>j )and(k<>root1 ) then
48 begin
49 {如果不是刚被切断的子树或被选作新树根节点的子树}
50 for m:=1 to a [ a [ i ] ^ [ k ] ] ^ [ 0 ] do
51 {将它们并入新树}
52 a [ root2 ] ^ [ a [ root2 ]^[0]+m]:= a [ a [ i ] ^ [ k
] ] ^ [m] ;
53 a [ root2 ]^[0]:= a [ root2 ]^[0]+ a [ a [ i ] ^ [ k
] ] ^ [ 0 ] ;
54 {新树根节点的孩子数也随着增加}
55 end;
NOIP2003
田劲锋
神经网络
侦探推理
加分二叉树
传染病控制
问题描述
输入输出
问题分析
我的题解
总结
56 find ( root2 ) ;
57 {对新树进行递归运算}
58 a [ root2 ]^[0]:=tmp ;
59 {节点 root2 的孩子数还原}
60 for m:=1 to tmp do a [ root2 ] ^ [m]:=b [m] ;
61 {节点 root2 的孩子情况数据还原}
62 end;
63 i f f l a g then
64 begin
65 {如果根节点 i 的所有孩子都是叶子节点}
66 s:=s0+a [ i ]^[0] −1;
67 {则切断任何一个都是等效的,故感染人数为 s0+a[i][̂0]-1}
68 i f s<ans then ans:=s ;
69 {如果此轮递归得到的感染人数最少,则刷新最少感染人
数}
70 exit ;
71 end;
72 end;
73
74 begin
75 assign ( input , 'epidemic.in') ; reset ( input ) ;
NOIP2003
田劲锋
神经网络
侦探推理
加分二叉树
传染病控制
问题描述
输入输出
问题分析
我的题解
总结
76 assign ( output , 'epidemic.out') ; rewrite (
output ) ;
77 readln (n , p) ;
78 for i :=1 to n do new(a [ i ] ) ;
79 for i :=1 to n do a [ i ] ^ [ 0 ] : = 0 ;
80 for i :=1 to p do
81 begin
82 readln (min ,max) ;
83 i f min>max then swap(min ,max) ;
84 inc (a [ min ] ^ [ 0 ] ) ;
85 a [ min ] ^ [ a [ min ] ^ [ 0 ] ] : =max;
86 {max 成为根节点 min 的第 a[min][̂0] 个孩子}
87 end;
88 s :=1; ans :=300;
89 find (1) ;
90 writeln ( ans ) ;
91 close ( input ) ; close ( output ) ;
92 end.
NOIP2003
田劲锋
神经网络
侦探推理
加分二叉树
传染病控制
问题描述
输入输出
问题分析
我的题解
总结
【另一种方法】
搜索一棵树,从根节点开始,枚举剪掉每一条边,把剩余的节
点合并为一个节点,继续回溯搜索它。返回时要把合并了的节点
再拆开来。继续枚举另一条边。
这样的话,可能会超时的。所以要加上两个显而易见的优化。
优化一:当搜索过程中发现当前的感染人数已经大于已知最
小感染人数,继续搜索是无意义的,要回溯。
优化二:如果遍历到一颗树的节点全部都是叶节点,不用枚
举剪哪个,这时新感染人数一定为叶节点数 -1。否则在枚举剪断
的时候,无需剪叶节点。
优化三:启发式搜索。很明显,一棵子树的节点数越多,这棵
树就越“危险”,所以优先枚举剪掉这棵子树,会减少很多搜索量。
这种搜索可能更容易想到,这里附上郭家宝神牛的 C++ 代码
(其中用到了 OOP ,看不懂就算了)。
NOIP2003
田劲锋
神经网络
侦探推理
加分二叉树
传染病控制
问题描述
输入输出
问题分析
我的题解
总结
1 #include <iostream>
2 #define MAX 301
3
4 using namespace std ;
5
6 class node
7 {
8 public :
9 node *next ;
10 int p ;
11 node ( int tp )
12 {
13 p=tp ;
14 next=0;
15 }
16 };
17
18 class t a d j l
19 {
20 public :
NOIP2003
田劲锋
神经网络
侦探推理
加分二叉树
传染病控制
问题描述
输入输出
问题分析
我的题解
总结
21 node *f ,* l ,* storer ,* s f ;
22 t a d j l ()
23 {
24 f=l =0;
25 }
26 void ins ( int p)
27 {
28 i f ( f )
29 l=l−>next=new node (p) ;
30 else
31 f=l=new node (p) ;
32 }
33 void store ()
34 {
35 storer=l ;
36 s f=f ;
37 }
38 void restore ()
39 {
40 node *p ,* q ;
41 i f ( storer )
NOIP2003
田劲锋
神经网络
侦探推理
加分二叉树
传染病控制
问题描述
输入输出
问题分析
我的题解
总结
42 for (p=storer −>next ; p ; p=q)
43 {
44 q=p−>next ;
45 delete p ;
46 }
47 l=storer ;
48 f=s f ;
49 i f ( l )
50 l−>next=0;
51 }
52 void cp ( t a d j l &T)
53 {
54 node *k ;
55 for (k=T. f ; k ; k=k−>next )
56 {
57 ins (k−>p) ;
58 }
59 }
60 };
61
62 int N,P, ans=0x7FFFFFFF;
NOIP2003
田劲锋
神经网络
侦探推理
加分二叉树
传染病控制
问题描述
输入输出
问题分析
我的题解
总结
63 t a d j l adjl [MAX] ;
64
65 void i n i t ()
66 {
67 int i , a , b , c ;
68 freopen ("epidemic.in" ,"r" , stdin ) ;
69 freopen ("epidemic.out" ,"w" , stdout ) ;
70 cin >> N >> P;
71 for ( i =1; i<=P; i++)
72 {
73 cin >> a >> b ;
74 i f (a>b)
75 {
76 c=a ; a=b ; b=c ;
77 }
78 adjl [ a ] . ins (b) ;
79 }
80 }
81
82 void dfs ( int i , int T)
83 {
NOIP2003
田劲锋
神经网络
侦探推理
加分二叉树
传染病控制
问题描述
输入输出
问题分析
我的题解
总结
84 i f (T>=ans )
85 return ;
86 i f ( ! adjl [ i ] . f )
87 {
88 i f (T<ans )
89 ans=T;
90 }
91 int j , q , newer=0;
92 node *k ,* l ,*w;
93 bool a l l l e a f=true ;
94 // optimize
95 for (k=adjl [ i ] . f ; k ; k=k−>next )
96 {
97 j=k−>p ;
98 i f ( adjl [ j ] . f )
99 {
100 a l l l e a f=false ;
101 break ;
102 }
103 newer++;
104 }
NOIP2003
田劲锋
神经网络
侦探推理
加分二叉树
传染病控制
问题描述
输入输出
问题分析
我的题解
总结
105 i f ( a l l l e a f )
106 {
107 T+=newer −1;
108 i f (T<ans )
109 ans=T;
110 return ;
111 }
112
113 for (k=adjl [ i ] . f ; k ; k=k−>next )
114 {
115 j=k−>p ; //cut ( i , j )
116 i f ( ! adjl [ j ] . f )
117 continue ;
118 w=0;
119 q=0;
120 for ( l=adjl [ i ] . f ; l ; l=l−>next )
121 {
122 i f ( l==k) continue ;
123 i f ( !w)
124 {
125 w=l ;
NOIP2003
田劲锋
神经网络
侦探推理
加分二叉树
传染病控制
问题描述
输入输出
问题分析
我的题解
总结
126 q=w−>p ;
127 adjl [ q ] . store
() ;
128 newer=1;
129 }
130 else
131 {
132 adjl [ q ] . cp (
adjl [ l−>p ] )
;
133 newer++;
134 }
135 }
136 i f (q)
137 {
138 dfs (q ,T+newer ) ;
139 adjl [ q ] . restore () ;
140 }
141 else
142 {
143 i f (T<ans )
NOIP2003
田劲锋
神经网络
侦探推理
加分二叉树
传染病控制
总结
题目总结
致谢
144 ans=T;
145 }
146 }
147 }
148
149 int main ()
150 {
151 i n i t () ;
152 dfs (1 ,1) ;
153 cout << ans ;
154 return 0;
155 }
NOIP2003
田劲锋
神经网络
侦探推理
加分二叉树
传染病控制
总结
题目总结
致谢
总的来说,NOIP2003 的题目稍微偏难。第一道题就考察了数
据类型——图,让人一下感到摸不着头脑(虽然程序实现没有用
到图)。第二道题是一道逻辑推理问题,题目实现相当繁琐,对一
个人的耐性有很大考验。第三道题是动态规划,动态转移方程很
容易找到,难度相对来说比较小。第四道题是递归,但是需要动态
规划的方法才能拿满分(或者是高度优化的深度优先搜索),也不
太容易做。所有题目都有难度,所以当年分数线很低,只有 60 分
(又说 70 分)。
当然,今年题目不会像 03 年这样,没有数据范围,题目描述
很不清楚,毕竟这是联赛初期的不成熟题目。大家要掌握基本算
法,理解数据结构,赛前把题目练习几次,攒一些 RP 什么的:-)。
比赛时也可以搞一点骗分(呵呵),最重要的是把心态调整好,争
取拿一等奖。
NOIP2003
田劲锋
神经网络
侦探推理
加分二叉树
传染病控制
总结
题目总结
致谢
最后,
祝大家都能在
NOIP2010 中
取得好成绩!

More Related Content

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Noip2003 11.1