FZU Problem 2062 Suneast & Yayamao】的更多相关文章

http://acm.fzu.edu.cn/problem.php?pid=2062 题目大意: 给你一个数n,要求求出用多少个数字可以表示1~n的所有数. 思路: 分解为二进制. 对于一个数n,看它二进制有多少位即可. #include<cstdio> int main() { int n; while(~scanf("%d",&n)) { int k=0; while(n) { n>>=1; k++; } printf("%d\n"…
                                      Problem 2062 Suneast & Yayamao Accept: 143    Submit: 313Time Limit: 1000 mSec    Memory Limit : 32768 KB  Problem Description Yayamao is so cute that people loves it so much. Everyone wants to buy Yayamao from S…
http://acm.fzu.edu.cn/problem.php?pid=2062 标题效果: 给你一个数n,要求求出用多少个数字能够表示1~n的全部数. 思路: 分解为二进制. 对于一个数n.看它二进制有多少位就可以. #include<cstdio> int main() { int n; while(~scanf("%d",&n)) { int k=0; while(n) { n>>=1; k++; } printf("%d\n&quo…
先上题目: Problem 2062 Suneast & Yayamao Accept: 146    Submit: 319Time Limit: 1000 mSec    Memory Limit : 32768 KB  Problem Description Yayamao is so cute that people loves it so much. Everyone wants to buy Yayamao from Suneast (a business man who sells…
题意:给出n,问最少需要多少个数字,这些数字能组成1~n的所有数: 分析:n=1; 1; 1个 n=2; 1,1;  2个 1 = 1; 2 = 1+1;   n=3; 1,2; 2个 1 = 1; 2 = 2; 3 = 1+2; n=5; 1,2,2; 3个 1 = 1; 2 = 2; 3 = 1+2; 4 = 2+2; 5 = 1+2+2; 从5开始就可以找到规律啦,就是二进制的原理嘛,然后化成二进制后的位数就是最少的数字个数.…
题目链接: FZu Problem 2233 ~APTX4869 题目描述: 给一个n*n的矩阵,(i, j)表示第 i 种材料 和 第 j 种材料的影响值,这个矩阵代表这n个物品之间的影响值.当把这n个物品分成两部分后,每部分内部材料不会相互影响,但是不同部分的材料之间会相互影响.问如何分割使得两部分材料相互之间的最小影响值最大? 解题思路: 材料内部不会影响,那么只需要把影响值小的物品放在同一部分即可,所以用结构体保存物品之间的影响值,然后sort一下,影响值小的物品用并查集放在一个集合,当…
题目链接: FZu  Problem 2236 第十四个目标 题目描述: 给出一个n个数的序列,问这个序列内严格递增序列有多少个?不要求连续 解题思路: 又遇到了用线段树来优化dp的题目,线段树节点里面保存所表达区间里面的方案数.先离散化序列(升序排列),建树,然后按照没有sort前的顺序向线段树里面加点,每次查询小于该数的方案数目+1, 就是当前节点插入进去能影响的方案数目.在线段树对应位置加上新增加的数目即可. #include <cstdio> #include <queue>…
题目是这样的: FZU Problem 2230 象棋翻翻棋(暗棋)中双方在4*8的格子中交战,有时候最后会只剩下帅和将.根据暗棋的规则,棋子只能上下左右移动,且相同的级别下,主动移动到地方棋子方将吃掉对方的棋子.将和帅为同一级别.然而胜负在只剩下帅和将的时候已定. Input 第一行T,表示T组数据. 每组数据共有四行字符串,每行字符串共八个字符 '#'表示空格 '*'表示红方帅 '.'表示黑方将 此时红方先走 每组输入之间没有空行. Output 每组数据输出一行.若为红方赢输出Red wi…
博弈,$SG$函数,规律,线段树. 这个问题套路很明显,先找求出$SG$函数值是多少,然后异或起来,如果是$0$就后手赢,否则先手赢.修改操作和区间查询的话可以用线段树维护一下区间异或和. 数据那么大,一看就知道$SG$有规律...... 先写个小数据的$SG$找规律: ]; ]; int SG(int x) { memset(f,,sizeof f); ;i>=x/;i--) { if(x-i>i) break; f[sg[i]]=; } ;i<=;i++) { ) continue;…
题目:http://acm.fzu.edu.cn/problem.php?pid=2148 题意:给出n个点,判断可以组成多少个凸四边形. 思路: 因为n很小,所以直接暴力,判断是否为凸四边形的方法是: 如果4个点中存在某个点D,Sabd + Sacd + Sbcd = Sabc,则说明是凹四边形. #include <iostream> #include <cstdio> #include <cstring> #include <cstdlib> #inc…