hihocoder 1178 : 计数

#1178 : 计数

时间限制:10000ms

单点时限:1000ms

内存限制:256MB

描述

Rowdark是一个邪恶的魔法师。在他阅读大巫术师Lich的传记时,他发现一类黑魔法来召唤远古生物,鱼丸。

魔法n能召唤类型i鱼丸当且仅当i能够被表示为x xor n*x对于某个正整数x和固定的n。

Rowdark想知道类型为[L,R]之间的鱼丸有多少种能被魔法n召唤。

输入

输入第一行包含个整数n(1 ≤ n ≤ 107)。

第二行包含两个整数,L, R(0 ≤ L ≤ R ≤ 107)。

输出

一行一个整数表示答案。

样例提示

只有3(1 xor 2), 5(3 xor 6), 6(2 xor 4), 9(7 xor 14), 10(6 xor 12)满足要求。

样例输入
2
1 10
样例输出
5
/**
          题意:如题
          做法:暴力
**/
#include <iostream>
#include <string.h>
#include <cmath>
#include <stdio.h>
#define maxn 10000000 +10
using namespace std;
int mmap[maxn];
int main()
{
    long long  n,x;
    while(~scanf("%lld",&n))
    {
        long long cet = 0;
        memset(mmap,0,sizeof(mmap));
        long long  left,right;
        scanf("%lld %lld",&left,&right);
        for(int i=1; i<=5e7; i++)
        {
            long long tmp = (i^(n*i));
            if(tmp >= left && tmp <= right)
            {
                if(mmap[tmp] == 0)
                {
                    mmap[tmp] = 1;
                    cet++;
                }
            }
        }
        printf("%lld\n",cet);
    }
    return 0;
}

时间: 2024-10-15 07:03:31

hihocoder 1178 : 计数的相关文章

暴力 hihoCoder 1178 计数

题目传送门 1 /* 2 暴力:这题真是醉了,直接暴力竟然就可以了!复杂度不会分析,不敢写暴力程序.. 3 枚举x,在不重复的情况下+ans,超过范围直接break 4 */ 5 #include <cstdio> 6 #include <algorithm> 7 #include <cstring> 8 #include <cmath> 9 using namespace std; 10 11 typedef long long ll; 12 const

hihocoder #1178 : 计数 暴力

#1178 : 计数 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://hihocoder.com/problemset/problem/1178 Description Rowdark是一个邪恶的魔法师.在他阅读大巫术师Lich的传记时,他发现一类黑魔法来召唤远古生物,鱼丸. 魔法n能召唤类型i鱼丸当且仅当i能够被表示为x xor n*x对于某个正整数x和固定的n. Rowdark想知道类型为[L,R]之间的鱼丸有多少种能被魔法n召唤. I

ACM学习历程—Hihocoder 1178 计数(位运算 &amp;&amp; set容器)(hihoCoder挑战赛12)

时间限制:10000ms 单点时限:1000ms 内存限制:256MB   描述 Rowdark是一个邪恶的魔法师.在他阅读大巫术师Lich的传记时,他发现一类黑魔法来召唤远古生物,鱼丸. 魔法n能召唤类型i鱼丸当且仅当i能够被表示为x xor n*x对于某个正整数x和固定的n. Rowdark想知道类型为[L,R]之间的鱼丸有多少种能被魔法n召唤. 输入 输入第一行包含个整数n(1 ≤ n ≤ 107). 第二行包含两个整数,L, R(0 ≤ L ≤ R ≤ 107). 输出 一行一个整数表示

Hihocoder 计数

题目2 : 计数 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 Rowdark是一个邪恶的魔法师.在他阅读大巫术师Lich的传记时,他发现一类黑魔法来召唤远古生物,鱼丸. 魔法n能召唤类型i鱼丸当且仅当i能够被表示为x xor n*x对于某个正整数x和固定的n. Rowdark想知道类型为[L,R]之间的鱼丸有多少种能被魔法n召唤. 输入 输入第一行包含个整数n(1 ≤ n ≤ 107). 第二行包含两个整数,L, R(0 ≤ L ≤ R ≤ 107). 输出 一

hihoCoder #1783 又一个重复计数

题目大意 给定一个长度为 $n$ 的字符串 $S$,定义函数 $f(S)$ 表示 $S$ 的不同回文子串的个数.对于 $1\le l \le r \le n$,定义 $S[l,r]$ 为字符串 $S$ 的第 $l$ 个字符到第 $r$ 个字符组成的字符串. 求 $\sum_{l= 1}^{n} \sum_{r=l}^{n} (r - l + 1) f(S[l, r]) $ . 分析 前置知识 长度为 $n$ 的字符串至多有 $n$ 个不同的回文子串. 提示:可以从 Manacher 算法的过程与

hihoCoder 1378 网络流二&#183;最大流最小割定理 (网络流学习#2 记录)

题目链接:http://hihocoder.com/problemset/problem/1378 代码: #include<bits/stdc++.h> using namespace std; const int maxn=505; int c[maxn][maxn],pre[maxn],flow[maxn][maxn],INF=0x3f3f3f3f,n,vis[maxn]={0},flag=0,num=0; int bfs(int s,int t) { for(int i=1;i<

hihocoder 1543

http://hihocoder.com/problemset/problem/1543 题目很简单,最开始想了一下前缀和然后二分查找一下,发现二分很容易找不到答案 然后想起来了$s = \frac{(m+n)*(m-n+1))}{2}$公式,但是并没有想到怎么用, 然后看了一下别人的代码,我们可以枚举系数$(m-n+1)$,从$\sqrt{2*x}$开始枚举 然后如果这个系数是2*a的因子的话,那么看它的平均数是多少 计数个因子的平均数一定是偶数,偶数个因子的平均数一定是奇数 然后根据这个可以

【hihoCoder】【挑战赛#12】

模拟+枚举+模拟……+构造 QAQAQQQ rank12求杯子! A 顺子 ……模拟题,分类讨论一下就好了……比如当前四张牌是不是同一花色……是不是连续的四张牌,如果是连续的四张牌,是不是两边的……(呀我好像忘了判左边...只判了J Q K A....没判A 2 3 4... 没关系加几个字符就好了……嗯代码已改 1 //hihocoder 12 A 2 #include<vector> 3 #include<cstdio> 4 #include<cstring> 5

【Hihocoder】1014 : Trie树

问题:http://hihocoder.com/problemset/problem/1014 给定一个字符串字典dict,输入字符串str, 要求从dict中找出所有以str为前缀的字符串个数. 构建Trie树: 1) 一个节点有多个子节点.用vector<Node*> nexts 存储. 2) 两个字符串的相同前缀部分共用同一条路径. 3) 每个节点包含计数变量 cnt, 表示有多少个字符串共用该节点 复杂度分析: 假定dict中的字符串个数 n, 字符串的长度 l 1)建树:O(n^2*