用天平(只能比较,不能称重)从一堆小球中找出其中唯一一个较轻的(条件是y个球中y-1个重量相等,其他一个轻),
使用x 次天平,最多可以从y 个小球中找出较轻的那个,求y 与x 的关系式。
其实,这是一个“三分查找问题”。
当y=3时,x=1(一次称重即可):
3个球中任选两个放到天平两端,若相等,则没称的那个是轻球。
若有一个轻,则轻的就是。
递归可以分析出来x = log3(y)。
[......]
用天平(只能比较,不能称重)从一堆小球中找出其中唯一一个较轻的(条件是y个球中y-1个重量相等,其他一个轻),
使用x 次天平,最多可以从y 个小球中找出较轻的那个,求y 与x 的关系式。
其实,这是一个“三分查找问题”。
当y=3时,x=1(一次称重即可):
3个球中任选两个放到天平两端,若相等,则没称的那个是轻球。
若有一个轻,则轻的就是。
递归可以分析出来x = log3(y)。
[......]
n支队伍比赛,分别编号为0,1,2。。。。n-1,已知它们之间的实力对比关系,
存储在一个二维数组w[n][n]中,w[i][j] 的值代表编号为i,j的队伍中更强的一支。
所以w[i][j]=i 或者j,现在给出它们的出场顺序,并存储在数组order[n]中,
比如order[n] = {4,3,5,8,1......},那么第一轮比赛就是 4对3, 5对8。.......
胜者晋级,败者淘汰,同一轮淘汰的所有队伍排名不再细分,即可以随便排,
下一轮由上一轮的胜者按照顺序,再[......]
给一串很长字符串,要求找到符合要求的字符串,例如目的串:123
1******3***2 ,12*****3这些都要找出来。
这个很难概述啊,其实和某G很相似的,所以我给了个标题“和谐字符串匹配”,你懂的。
其实我把这题简化了,我们假设它和某和谐系统一样,对整个字符串只提出Pass和Reset。
#define MAX 256
int hexie(char* pat, char* str)
{
int flag[MAX];
char* ptr = st[......]
题目:输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数。
例如输入12,从1到12这些整数中包含1 的数字有1,10,11和12,1一共出现了5次。
编程之美上的原题。
基本思路1:
每次判断各位是否为1,计数。然后依次/=10即可。
时间复杂度O(N*lgN)
#include <stdio.h>
int countone(int num)
{
int cnt = 0;
while(num)
{
if(num%[......]
1、在图结构中,结点关系是任意的:任意两个数据元素(结点)之间都可能有关系。
2、有向图可以表示为G={V, A},V是顶点集合,A是关系(边)的集合,也可称作VR。关系(边)用有序对<v, w>表示。图形表示是一条有向弧。v是初始点(弧尾),w是终端点(狐头)。
3、无向图一般表示为G={V, E},V还是顶点集合,E是边集合。边用无序对(v, w)表示。图形表示是一条边(无向)。
有向图G1:
A1 = {[......]