LeeBlog

导航

2011年4月7日 #

HDU 1541 Stars

摘要: 这题让我情何以堪啊,悲剧了以下午,居然是审题不仔细,我原以为是对应输出每个星星的等级,后来突然发现是求每个等级的星星数目;这题是个树状数组的题,因为只要算左下角的星星数目( 包括正左,正下 ),而且给出数据的方式又是先按X轴排列,再按Y轴排列( 按这样的方式算出来的等级都不会变了,因为这样它的左下方不能再加星星了,这样就可以直接看它左下方的星星数目,即相应的等级),使得我们可以用树状数组来做,当到( a,b )点时,只要看小于a( a的左下方星星 )的数目就可以知道这个星星是多少等级了,然后再把这个等级的星星数目增加1这样就很轻松的算出结果了#include<stdio.h>#in 阅读全文

posted @ 2011-04-07 21:18 LeeBlog 阅读(259) 评论(0) 推荐(0) 编辑

HDU 1196 lowest bit

摘要: 这题是树状数组的一入门题,lowest bit 就是将相应的十进制转换成二进制,在这个二进制数种从右往左数第一个不为0的位置的权值,有一种简单的做法#include<stdio.h>int main( ){ int n; while( scanf( "%d",&n ) ,n ) printf( "%d\n",n&( -n ) );}比较常规的做法#include<stdio.h>int main( ){ int n,x,y; while( scanf( "%d",&n ) ,n ) { 阅读全文

posted @ 2011-04-07 13:25 LeeBlog 阅读(231) 评论(0) 推荐(0) 编辑