UVa11384 Help is needed for Dexter (思维)

链接:http://acm.hust.edu.cn/vjudge/problem/26096分析:带几个栗子进去发现,序列1,2,...,n,为了平衡将(n/2+1)~n的数同时减去(n/2+1),得到1,2,...n/2,0,1,...(n-1)/2,它等价于1,2,...,n/2,因此f(n)=f(n/2)+1,边界是f(1)=1。
 1 #include <cstdio>
 2
 3 int f(int n) {
 4     return n == 1 ? 1 : f(n / 2) + 1;
 5 }
 6
 7 int main() {
 8     int n;
 9     while (scanf("%d", &n) == 1) {
10         printf("%d\n", f(n));
11     }
12     return 0;
13 }
时间: 2024-12-09 03:16:07

UVa11384 Help is needed for Dexter (思维)的相关文章

【UVA11384】Help is needed for Dexter(数学题。。。)

Problem H Help is needed for Dexter Time Limit: 3 Second Dexter is tired of Dee Dee. So he decided to keep Dee Dee busy in a game. The game he planned for her is quite easy to play but not easy to win at least not for Dee Dee. But Dexter does not hav

uva 11384 Help is needed for Dexter(模拟)

uva 11384 Help is needed for Dexter Dexter is tired of Dee Dee. So he decided to keep Dee Dee busy in a game. The game he planned for her is quite easy to play but not easy to win at least not for Dee Dee. But Dexter does not have time to spend on th

uva------Help is needed for Dexter(11384)

Problem H Help is needed for Dexter Time Limit: 3 Second Dexter is tired of Dee Dee. So he decided to keep Dee Dee busy in a game. The game he planned for her is quite easy to play but not easy to win at least not for Dee Dee. But Dexter does not hav

UVA - 11384 - Help is needed for Dexter (找规律!!)

UVA - 11384 Help is needed for Dexter Time Limit: 3000MS Memory Limit: Unknown 64bit IO Format: %lld & %llu Submit Status Description Problem H Help is needed for Dexter Time Limit: 3 Second Dexter is tired of Dee Dee. So he decided to keep Dee Dee b

UVA 11384 Help is needed for Dexter

#include<iostream> using namespace std; int n; int dfs(int n){return n == 1 ? 1 : dfs(n / 2) + 1;} int main() { while (cin >> n) cout << dfs(n) << endl; return 0; }

UVa 11384 Help in needed for Dexter 正整数序列

序列太简单了,每次对于后面一半进行操作,使之变成前一半就行了. i个数需要操作的次数 f(i)=f(i/2)+1 代码如下: #include<cstdio> using namespace std; int f(int n){ return n==1?1:f(n/2)+1; } int main(){ int n; while(scanf("%d",&n)==1) printf("%d\n",f(n)); return 0; } 原文地址:ht

贪心思维 专题记录 2017-7-21

A.UVa 10382 - Watering Grass 题目大意: 有一块草坪,长为l,宽为w,在它的水平中心线上有n个位置可以安装喷水装置,各个位置上的喷水装置的覆盖范围为以它们自己的半径ri为圆.求出最少需要的喷水装置个数. 思路 :转化一下 将二维降成一维      d = sqrt(1.0*r*r-w*w/4.0) 接着就是区间覆盖问题了 #include <bits/stdc++.h> using namespace std; const int maxn = 10000+10;

思维专题(不定期更新)

1.UVa 11100 - The Trip, 2007 题意:给出若干大小不同的包裹,小的能够装在大的包裹里面.求最小的大包裹数,并且保证在所有的大包裹中,所含有的小包裹数目最小. 思路:显然,相同大小的包只能放在不同的大包里,那么最小的大包数目就是相同大小的包的最大数目,记为k.之后,根据从小到大排序后,对于每个大包i可选取从i开始,间隔k个包的那些包裹作为该大包从里到外的各个包裹. 1 #include<iostream> 2 #include<algorithm> 3 us

POJ_1083_(思维)

Moving Tables Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 31511   Accepted: 10528 Description The famous ACM (Advanced Computer Maker) Company has rented a floor of a building whose shape is in the following figure. The floor has 200