2018.5.9//AFO考试之总结

本次考试,先深刻的反省一下没有学好递归,在此放上正解。

#include <bits/stdc++.h>
using namespace std;

inline int read()
{
	int x=0;
	char ch;
	bool flag=true;
	for(;ch>'9'||ch<'0';ch=getchar())
	if(ch=='-')
	flag=false;
	for(;ch>='0'&&ch<='9';ch=getchar())
	x=x*10+ch-'0';
	return flag?x:-x;
}

int n,k;
int ans=1;

void rec(int n)
{
	if(n<=k)  return;
	if((n+k)%2==1)  return;
	ans++;
	rec((n+k)/2);
	rec((n-k)/2);
}

int main()
{
	n=read();
	k=read();
	rec(n);
	cout<<ans<<endl;
	return 0;
}


本次考试,第一题是一道佷水的题,但我居然用了将近半个小时才AC,其主要原因是 (没有认真读题目)。 唉,多年的老毛病了
但就是改不掉,也对他无可奈何。简单的讲,第一题恰好就是一个很简单的贪心算法,掠过不总结。

第二题呢,又是一个白痴错误: 数组开小了…………
但这也只是一部分的原因,其中本人的主要错误在于对时间复杂度的把握为0;导致了循环的对象把握不准,据本班的以为蒟蒻说, 在循环的过程中产生了一坨垃圾数据。

第三题无害水过。
第四题就是传说中的递归了

题意大概是这样的:long long ago 有一帮家伙去探险,当他们遇到查到的时候,如果人数 允许分成相差为k的两队,就分头行动,否则就原地考察。
其实这一题非常

地简单,但也就是因为它非常的简单,本人的数学思维就是跟不上,导致崩盘,其中本人对递归的理解也不够,当看到100000000的数据的时候整个人都是懵逼的,也无法认真的思考,表明心里素质也不是太好。

最后一题涉及到
dp,也是一道非常友好  (三善) 题目;
但本人硬是在找到了规律的情况下写了暴力搜索,说明本人对dp的熟练程度也是远远不够的,但正好也是近几天才学的,复习起来倍感亲切。

猜你喜欢

转载自blog.csdn.net/airno2/article/details/80377259
AFO