2016.08.19上午【初中部 NOIP普及组 】模拟赛题解
2016-09-02 18:46
316 查看
T1:
第一题就是一个勾股定理,枚举两条边超时,于是枚举一条,第二条符合数可以算出来。
T2:
第二题就是广搜,提前预存好符号四个方向的可通性,广搜即可。如果只有一个*也要输出1.
T3:
第三题是我小学时做了很久也没A的题目,考场居然差一点点就A了。
其实就是初学的内容。枚举数字的位置(全排列),枚举3个符号,然后枚举括号,括号为
1 2 3 4
1 ( ) ( )
2 ( )
3 ( )
然后先按照括号运算括号里的,按照从左到右的顺序运算(不理乘除优先),8个for吧。
T4:
第四题为状压DP,少不了位运算。
大家需要知道几个知识:
xor:异或,同为0,否则为1。
and:和,两个为一则为1,反之为0.
or:有1则1,反之则0.
设f[i,j]表示走到j这个点的状态为i(二进制表示,1为走)。很容易想到了转移!
等等,还没讲完。还要枚举从第K的状态递推过来。然后并不是所有的K都能递推。要判断j,k是否相同,然后再判断一下是否可走,走过没有,即满足:
i and (1 shl (j-1))=1 shl (j-1)
i and (1 shl (k-1))=1 shl (k-1)
可化简为
i or (1 shl (j-1))=i
i or (1 shl (k-1))=i
然后转移。
一个是走,一个不走。
走的话搞一下状态,加上一个数。
最后输出即可。
max:=maxlongint;
for i:=1 to n do
if f[i,c
-1]<max then max:=f[i,c
-1];
今天的题目满满的套路满满的粗心,争取普及AK!
第一题就是一个勾股定理,枚举两条边超时,于是枚举一条,第二条符合数可以算出来。
T2:
第二题就是广搜,提前预存好符号四个方向的可通性,广搜即可。如果只有一个*也要输出1.
T3:
第三题是我小学时做了很久也没A的题目,考场居然差一点点就A了。
其实就是初学的内容。枚举数字的位置(全排列),枚举3个符号,然后枚举括号,括号为
1 2 3 4
1 ( ) ( )
2 ( )
3 ( )
然后先按照括号运算括号里的,按照从左到右的顺序运算(不理乘除优先),8个for吧。
T4:
第四题为状压DP,少不了位运算。
大家需要知道几个知识:
xor:异或,同为0,否则为1。
and:和,两个为一则为1,反之为0.
or:有1则1,反之则0.
设f[i,j]表示走到j这个点的状态为i(二进制表示,1为走)。很容易想到了转移!
等等,还没讲完。还要枚举从第K的状态递推过来。然后并不是所有的K都能递推。要判断j,k是否相同,然后再判断一下是否可走,走过没有,即满足:
i and (1 shl (j-1))=1 shl (j-1)
i and (1 shl (k-1))=1 shl (k-1)
可化简为
i or (1 shl (j-1))=i
i or (1 shl (k-1))=i
然后转移。
一个是走,一个不走。
走的话搞一下状态,加上一个数。
最后输出即可。
max:=maxlongint;
for i:=1 to n do
if f[i,c
-1]<max then max:=f[i,c
-1];
今天的题目满满的套路满满的粗心,争取普及AK!
相关文章推荐
- 2016.08.19上午【初中部 NOIP普及组 】模拟
- 2016.08.19上午【初中部 NOIP普及组 】模拟赛题解
- 2016.08.19上午【初中部 NOIP普及组 】模拟赛
- 2016.08.19上午【初中部 NOIP普及组 】模拟赛题目
- 2016.08.19【初中部 NOIP普及组 】模拟赛题解
- 2016.08.19【初中部 NOIP普及组 】模拟赛
- 2016.08.19 初中部 NOIP普及组 模拟赛
- 2016.11.13【初中部 NOIP普及组 】模拟赛
- 2016.5.28【初中部 NOIP普及组 】模拟赛
- 2016.08.18【初中部 NOIP普及组 】模拟赛题目
- 2016.9.24初中部上午NOIP普及组比赛总结
- 2016.5.28【初中部 NOIP普及组 】模拟赛
- 2016.10.5初中部上午NOIP普及组比赛总结
- 2016.5.28【初中部 NOIP普及组 】模拟赛
- 2016.10.05【初中部 NOIP普及组 】模拟赛题解
- 2016.10.6初中部上午NOIP普及组比赛总结
- 2016.10.05【初中部 NOIP普及组 】模拟赛
- 2016.10.05【初中部 NOIP普及组 】模拟赛
- 2016.08.18【初中部 NOIP普及组 】模拟赛
- 2016.09.10 初中部 NOIP普及组 模拟赛