小Q非常喜欢数学,但是他的口算能力非常弱.因此他找到了小T,给了小T一个长度为nn的正整数序列a1,a2,...,ana1,a2,...,an,要求小T抛出mm个问题以训练他的口算能力.每个问题给出三个正整数l,r,dl,r,d,小Q需要通过口算快速判断al×al+1×...×ar−1×aral×al+1×...×ar−1×ar是不是dd的倍数.小Q迅速地回答了出来,但是小T并不知道正确答案是什么,请写一个程序帮助小T计算这些问题的正确答案. Input第一行包含一个正整数T(1≤T≤10)T(…
题意: 小Q非常喜欢数学,但是他的口算能力非常弱.因此他找到了小T,给了小T一个长度为nn的正整数序列a1,a2,...,ana1,a2,...,an,要求小T抛出mm个问题以训练他的口算能力. 每个问题给出三个正整数l,r,dl,r,d,小Q需要通过口算快速判断al×al+1×...×ar−1×aral×al+1×...×ar−1×ar是不是dd的倍数. 小Q迅速地回答了出来,但是小T并不知道正确答案是什么,请写一个程序帮助小T计算这些问题的正确答案. 思路: 一开始bit套map 用前缀和处…
[BZOJ5358]/[HDU6287]口算训练 题目大意: 给定一个长度为\(n(n\le10^5)\)的正整数序列\(a_{1\sim n}\),\(m(m\le10^5)\)次询问.每次询问给出三个正整数\(l,r,d\),判断\(\displaystyle\prod_{i=l}^ra_i\)是不是\(d\)的倍数. 思路: 线性筛预处理出\(10^5\)内的所有素数.对于\(a\)中每一个数分解质因数,并开vector存储每个质因子出现的位置(如在同一个位置出现多次则算作多次).对于每次…
昨天晚上回寝室看到室友正在被一个C#课的作业苦恼,作业的内容是编写一个口算训练程序,能够实现随意添加题目数量.于是,喜欢写C#的我就决定解救一下他们. 创建动态控件 既然要动态添加,那就必须使用动态控件了.在C#中,控件也是类,除了在画窗体的时候添加固定的控件外,还可以在代码中用实例化类的方法添加. 具体操作是,我们先定义一个控件变量,然后对控件设置Size, Location这些属性,最后,再把控件添加的一个panel中.而且我们只要定义一次控件变量,之后用new不停的添加,就可以获得很多控件…
5358: [Lydsy1805月赛]口算训练 Time Limit: 5 Sec  Memory Limit: 512 MBSubmit: 318  Solved: 105[Submit][Status][Discuss] Description begin.lydsy.com/JudgeOnline/upload/201805.pdf Input   Output   Sample Input   Sample Output   HINT   Source 鸣谢claris提供 分析: 首先…
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=6287 Summarize: 1.分解质因数: 2.二分查找函数lower_bound与upper_bound: 3.注意输入输出超时与初始化: #include<iostream> #include<cstdio> #include<cstring> #include<vector> #include<algorithm> using namespa…
分析: 没想到这道题还能二分查找... 这题主席树的话,裸的很显然...我们将每一个数分解质因数,之后建一个可持久化权值线段树维护[L,R]区间内的每一种质因子的个数,分解质因数的话,可以选择用线筛,总体时间复杂度为O(qlognlogn+nlogn+n):之后的常数巨大,比根号跑的还慢...当然,主席树可以只维护质数,这样能减少一个log,快上不少. 附上代码: #include <cstdio> #include <algorithm> #include <cmath&g…
前几天在博客园,看到有博友利用Winform做了一个口算案例,于是我想把它移植在WPF程序中.Winform程序:http://www.cnblogs.com/ImYZF/p/3345452.html WPF中: 个人感觉在WPF中动态创建完控件之后,无法有像Winform中FindName()这样的方法来对控件进行搜寻,因此我采用的方法是在布局控件中动态创建控件后,用for循环遍历布局中的控件,然后利用 布局控件的Children属性进行对控件的定位. 上代码: using System; u…
题目链接:http://poj.org/problem?id=1845 关于质因数分解,模板见:http://www.cnblogs.com/atmacmer/p/5285810.html 二分法思想:选定一个要进行比较的目标,在区间[l,r]之间不断二分,直到取到与目标相等的值. #include<iostream> #include<cstdio> #include<cstring> using namespace std; typedef long long ll…
n<=10^6 m<=10^6 p=2^32 用unsigned int 可以避免取模 我写的SB超时 阶乘分解代码 #include <cstdio> #include <cstdlib> #include <cmath> #include <cstring> #include <ctime> #include <algorithm> #include <iostream> #include <sstr…