51NOD 1674 区间的价值 V2 题意给n个数a1a_1~an(1≤ai≤1e9)a_n(1\leq a_i\leq1e9),求∑[1≤l≤r≤n][al&al+1&...&ar][al|al+1|...|ar]\sum[1\leq l\leq r\leq n][a_l \verb'&'a_{l+1}\verb'&'...\verb'&'a_r][a_l\verb'|'a_{l+1}\verb'
几道有趣的思维题 problem 1从1~n里选出一些数乘起来构成完全平方数,求能得到的最大完全平方数,结果对1e9+7取模,n<=106n<=10^6思路如果从判断哪些能选这个角度来做这个题那么就会陷入死胡同,不妨看哪些不能选,把n!表示成小于等于n的质数的幂的乘积,然后对于幂为奇数的,需要去掉一些数让它的幂变成偶数,怎么去呢?去掉这个质数就ok。那么问题就是对于n!=pc11pc22...pcttn!=p_1^{
hdu5942 Just a Math Problem 题意令f(i)f(i)为i的不同质因子的个数,求∑2f(i)[1<=i<=n]\sum 2^{f(i)}[1<=i<=n]思路如果i=pc11pc22...pcf(i)f(i)i=p_1^{c_1}p_2^{c_2}...p_{f(i)}^{c_{f(i)}},则满足 PQ=i,gcd(P,Q)=1PQ=i,gcd(P,Q)=1的(P,Q)(P,Q)有序对的个数为2f(i)2^{f(i)},因为
2017京东笔试编程题-保卫方案 | Codeforces Beta Round #5 E.Bindian Signalizing cf上的原题,地址在:http://codeforces.com/contest/5/problem/E题意大意是给你围成了一个环的序列,要求所有的点对(i,j),满足i思路如果这个序列不是环形的,那么仅仅维护一个非增队列就可以统计答案了,然而对于对于环形序列,队首和队首之前的点还可以通过“另一条路”和当前点配对,对于这一部分答案,如果我们维护下队首和队首之前的数的非降序列,那么答案在非降序列上形成
2016 USP Try-outs Gym101064 link:http://codeforces.com/gym/101064Gym 101064A. Renzo and the lost artifact题意给你一张大地图和一张小地图,大地图和小地图上面所表示的是某个地方的同一块区域,然后以大地图的左下角为原点建系,告诉你小地图的四个点的坐标,这四个点依次是小地图正面所示时的左下角沿逆时针方向的四个点。然后让你求某个坐标位置,大地图和小地图上表示的
2015 USP Try-outs Gym101047 link:http://codeforces.com/gym/101047Gym 101047D. Random walks in Thailand题意给你n个城市,u和v之间距离为CuvC_{uv},单位距离花费为1,另外还可以选择坐飞机,但是目的地是随机的,也就是说飞机在每个城市降落的可能性一样,坐一次飞机花费为k。求从城市1到n的最小花费的期望值。思路令fif_i
“高教社杯”第三届福建省大学生程序设计竞赛 FZU OJ主页:http://acm.fzu.edu.cn/index.phpProblem B. Bin & Jing in wonderland @FZU2103题意1-n共n个id,每个id给定一个概率,表示从中随机抽一个抽到它的概率。现在让你有放回地随机抽取k次,把这k个id排序后最大的r个id与给定的r个id一样的概率。思路根据题意,有r个id是确定的,另外 k-r 个id可以这样确定
网易2017校园招聘数据挖掘笔试题编程题 分田地 题目: 牛牛和15个朋友玩打土豪分田地的游戏,牛牛决定让你来分田地,地主的田地可以看成是一个矩形,每个位置有一个价值。分割田地的方法是横竖各切三刀,分成16份,作为领导干部,牛牛总是会选择其中总价值最小的一份田地,作为牛牛最好的朋友,你希望牛牛取得的田地的价值和尽可能大,你知道这个值最大可以是多少吗?输入描述 每个输入包含1个测试用例。每个测试用例的第一行包含两个整数n和m(1 <= n,m <
hdu5780 gcd 题意: 已知x和n,求∑gcd(xa−1,xb−1)(1≤a,b≤n)∑gcd(x^a−1,x^b−1) (1≤a,b≤n)思路记T(t)=1+x+x2+...+xt−1T(t)=1+x+x^2+...+x^{t-1} xa−1=(x−1)(1+x+x2+...+xa−1)=(x−1)∗T(a)x^a-1 = (x-1)(1+x+x^2+...+x^{a-1})=(x-1)*T(a) 则
hdu5779 Tower Defence 题意: 求满足【n个点编号1-n,从1出发到各个点的最短路长度不等于k】的图有多少种,所有边长都为1,没有重边和自环,不连通则距离为无穷大思路题目中“不等于k”可以换成“小于k或者无穷大”。为了将小于k和无穷大分开,将所有点分为两类,第一类与1连通,第二类与1不连通,即为无穷大。分类后,第二类点和第一类点之间没有边,第二类点相互之间的边怎样连接也没有限制,问题简化为求第一类点中满足条件的方案数。
codeforces-675D Tree Construction 大致题意:输入n个不相同的数,依次插入bst中,输出最后每个数对应节点的父亲思路一:bst的中序遍历是有序的,所以每一棵子树对应有序序列的一个区间。先将原序列排序,按插入顺序取没有处理的节点,找到它在有序序列里的位置p,假定它的父亲所表示子树的范围是[l,r],那么[l,p-1]和[p+1,r]分别成为p的左右子树,[l,p-1]和[p+1,r]的父亲由p的父亲更改为p。所以需要一个支持区间修改的数
2016百度之星资格赛 Problem A度熊手上有一本字典存储了大量的单词,有一次,他把所有单词组成了一个很长很长的字符串。现在麻烦来了,他忘记了原来的字符串都是什么,神奇的是他竟然记得原来那些字符串的哈希值。一个字符串的哈希值,由以下公式计算得到: H(s)=∏i≤len(s)i=1(Si−28) (mod 9973)H(s)=\prod_{i=1}^{i\leq len(s)}(S_{i}-28)\ (mod\ 9
[智能车问题]电磁平衡组方向控制 现象速度加快后,车出现甩尾现象原因双横向电感在过弯时得到的数据与直线时的变化规律不一样,入弯处偏差变化不明显尝试方法采用“圆形变换”,提高误差小的时候的灵敏度,同时对方向控制量的变化量进行限幅(或者与历史值加权平均一下),防止剧烈抖动用差比和的方法对数据归一化,以适应电流的变化和车身方向与导线方向产生偏差的情况结果未知
几道题(hdu5671 && hdu5672 && hdu5673) hdu5671 Matrix 思路 * 所有操作都是整行或整列,所以矩形的两个维度可以独立处理 * 对于交换我们用一个映射表表示当前的第i行(列)是原矩形的第多少行(列),对于加数我们用一个数组记录原矩形第i行加了多少,为什么是原矩形呢?因为对现矩形的所有操作本质上是对原矩形的操作 代码#include <bits/stdc++.h>using namespace std;const i
中期瓶颈 最近车在速度上遭遇瓶颈,13.6m的小跑道上,车提速慢,而且提不上去,速度到达1米5左右过大S弯会飘,可能还是方向控制有问题吧。。有时车还会莫名其妙地停下来,原因暂时还没找到。方向控制的微分量改用陀螺仪测的角速度后,依然飘得厉害,猜测主要原因不在微分这里。 找到车速度不稳和飘的原因,理解速度控制和方向控制的原理,参考别人的控制算法读懂他们的代码,这是当前要做的主要工作。
c语言词法分析器实验程序(c语言版) 词法分析器主要功能是处理源程序的字符流生成一个词法单元序列,它为语法分析器服务。下面的程序只是一个小实验,实现了主要功能,但总体设计和接口有待改进。#include <stdio.h>#include <string.h>#define N 100#define M 100#define T 100#define L 100const char keyword[][10] = {"int"
[智能车-直立电磁组]前期的一些总结 车的前瞻到底是用来干嘛的需要一定的前瞻保证提前检测到道路前方的信息,在入弯时需要减速,出弯时需要加速,而加减速需要一定的距离,所以前瞻理论上应该至少等于传感器采集数据周期内车子前进的距离+加速或减速需要的距离。如何放置电感,使得两个传感器采集到的数据差,经过某种函数变换后,与实际偏差线性相关主电感水平横向放置,这样能保证传感器不受横向的导线影响,那么十字路就与普通的弯道就没什么区别了。 辅电感水平
[hdu5654 xiaoxin and his watermelon candy]区间内不同数的个数 原题 思路: 首先求得所有合法的三元组(ai,ai+1,ai+2a_i, a_{i+1}, a_{i+2}),这样的三元组数量是O(n)的,然后离散化成1-n的序列,不合法的用0表示,得到新的序列bib_i。令pip_i为bib_i这个数上一次出现的位置,则求a的[L,R]之间有多少个不同的合法三元组等价于求p的[L,R-2]之间有多少个值小于L。考虑到有不合法的三元组,需要对它们的p做一些特殊
第七届蓝桥杯本科B组省赛 煤球数目有一堆煤球,堆成三角棱锥形。具体: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形), 第四层10个(排列成三角形), …. 如果一共有100层,共有多少个煤球?请填表示煤球总数目的数字。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。思路:推出第i层有i*(i+1)/2个煤球,累加到100层即可,答案为171700