zzulioj - 2624: 小H的奇怪加法】的更多相关文章

题目链接:http://acm.zzuli.edu.cn/problem.php?id=2624 题目描述 小H非常喜欢研究算法,尤其是各种加法.没错加法包含很多种,例如二进制中的全加,半加等.全加:对两个输入数据位相加,输出一个结果位和进位,有进位输入的加法.半加:对两个输入数据位相加,输出一个结果位和进位,没有进位输入的加法.异或操作就是半加.C语言中,‘^’是异或运算符但是常见的加法都是十进制的,人们习惯使用十进制数,并且默认一个数字的每一位都是十进制的.前几天,小H听说ADD星有一种新的…
题目链接:http://acm.zzuli.edu.cn/problem.php?id=2623 题目描述        期末考试即将来临,同学们都积极的在图书馆复习.今天小H也来到图书馆复习,小H掏出C语言课本,发现课本里还夹着一道老师出的作业题,小H想以此作业作为复习的开始,怎奈人生不如意,小H不能如愿写出这道作业题,你能帮助小H写出这道作业题吗?已知算术基本定理描述如下:任何一个大于1的自然数N,如果N不为质数,那么N可以唯一分解成有限个质数的乘积N=P1a1 × P2a2 × P3a3 …
传送门 时间限制:18000ms单点时限:2000ms内存限制:512MB 描述 小h拥有$n$位朋友.每位朋友拥有一个数值$V_i$代表他与小h的亲密度.亲密度有可能发生变化.岁月流逝,小h的朋友们形成了一种稳定的树状关系.每位朋友恰好对应树上的一个节点.每次小h想请两位朋友一起聚餐,他都必须把连接两位朋友的路径上的所有朋友都一起邀请上.并且聚餐的花费是这条路径上所有朋友的亲密度乘积.小h很苦恼,他需要知道每一次聚餐的花销.小h问小y,小y当然会了,他想考考你. 输入 输入文件第一行是一个整数…
自从班上A片小王子的7个T资源被封了以后,本小白为造福全班同学,尝试拿下个小H网,先用webrobot搜某些只有小H网才会出现的关键词 本以为直接导出放御剑里跑就行了,然并软.于是用awvs扫了一下,也没什么用.从cms下手吧放进椰树里 百度一下maxcms的漏洞看到这样一条 http://www.2cto.com/index.php/364.html发现注入点 http://www.xxxxx.com/inc/ajax.asp?action=videoscore&id=11 ,放进sqlmap…
一个简洁的小H车调运模型 不久前, 帝都B城市到处都是小H车, 理想的小H车应该是布朗运动\均匀分布,可是现实上它们就是不均匀.于是有如下问题: 观察帝都 HD区SY村区域,将其划分成10个用车点,用大数据回归预测出第二天(周一)的用车数据如下,夜晚开始调运,务必满足第二天的需求,极小化调运总里程. 数据项 符号 用车点 地区  i 1 2 3 4 5 6 7 8 9 10 X-坐标  X[i] 0 200 155 70 90 45 88 44 60 111 Y-坐标 Y[i] 0 200 30…
链接:https://www.nowcoder.com/acm/contest/72/B来源:牛客网 题目描述     小H在击败怪兽后,被一个密码锁挡住了去路     密码锁由N个转盘组成,编号为1~N,每个转盘有M个位置,每个位置上要么有一个小写字母,要么没有任何字符.一个密码能被转盘表示出,当且仅当指定每个转盘上面的某一个位置,然后将这些位置按照所属的转盘编号顺次连接(空位置直接忽略),可以得到这个密码     小H并没有得到任何线索,因此只能猜,她一共猜了Q次,但并不知道自己猜的密码能否…
试题链接:https://www.nowcoder.com/acm/contest/72/B 题目描述     小H在击败怪兽后,被一个密码锁挡住了去路     密码锁由N个转盘组成,编号为1~N,每个转盘有M个位置,每个位置上要么有一个小写字母,要么没有任何字符.一个密码能被转盘表示出,当且仅当指定每个转盘上面的某一个位置,然后将这些位置按照所属的转盘编号顺次连接(空位置直接忽略),可以得到这个密码     小H并没有得到任何线索,因此只能猜,她一共猜了Q次,但并不知道自己猜的密码能否被表示出…
BZOJ1505: [NOI2004]小H的小屋 Description 小H发誓要做21世纪最伟大的数学家.他认为,做数学家与做歌星一样,第一步要作好包装,不然本事再大也推不出去. 为此他决定先在自己的住所上下功夫,让人一看就知道里面住着一个“未来的大数学家”. 为了描述方便,我们以向东为x轴正方向,向北为y轴正方向,建立平面直角坐标系. 小H的小屋东西长为100Hil(Hil是小H自己使用的长度单位,至于怎样折合成“m”,谁也不知道). 东墙和西墙均平行于y轴,北墙和南墙分别是斜率为k1和k…
题目链接: 小h的树上的朋友 时间限制:18000ms 单点时限:2000ms 内存限制:512MB 描述 小h拥有n位朋友.每位朋友拥有一个数值Vi代表他与小h的亲密度.亲密度有可能发生变化. 岁月流逝,小h的朋友们形成了一种稳定的树状关系.每位朋友恰好对应树上的一个节点. 每次小h想请两位朋友一起聚餐,他都必须把连接两位朋友的路径上的所有朋友都一起邀请上.并且聚餐的花费是这条路径上所有朋友的亲密度乘积. 小h很苦恼,他需要知道每一次聚餐的花销.小h问小y,小y当然会了,他想考考你. 输入 输…
题目描述       小H陷入了一个迷宫中,迷宫里有一个可怕的怪兽,血量有N点,小H有三瓶魔法药水,分别可以使怪兽损失a%.b%.c%的血量(之后怪兽的血量会向下取整),小H想合理地运用这三瓶药水,使怪兽失去尽可能多的血量       注意:每瓶药水只能用一次 输入描述: 一行,四个整数 N,a,b,c 输出描述: 一行,一个整数w,表示最多能使得怪兽扣减多少血量 输入例子: 100 20 15 0 输出例子: 32 --> 示例1 输入:100 20 15 0 输出:32 备注:5≤N≤109…
神仙贪心,洛谷没有插图导致我题一开始都没看懂.容易发现,块越多越优秀,然后为了满足题意,所以假如不能整除,就分为两个部分(能整除就直接均分就行了).前一部分是n/m,后一部分是n/m+1.数量也是固定的,然后就枚举前后所占用的长度就行了.据证明可知这个函数是单峰函数,所以可以下降就break. 题干: 小 H 发誓要做 世纪最伟大的数学家.他认为,做数学家与做歌星一样,第一步要作好包装,不然本事再大也推不出去.为此他决定先在自己的住所上下功夫,让人一看就知道里面住着一个“未来的大数学家”. 为了…
LINK:小H的小屋 尽管有论文 但是 其证明非常的不严谨 结尾甚至还是大胆猜测等字样... 先说贪心:容易发现m|n的时候此时均分两个地方就是最优的. 关于这个证明显然m在均分的时候的分点一定是n的子集 考虑不为均分的时候答案一块增多一个增少 但是增多的幅度显然更大 所以的证. 然后 当m不整除n的时候 容易想到还是均分的思路 不过 这次 对于一部分均分到的是 n/m 一部分是n/m+1. 然后暴力枚举中间的分点即可 然后进行计算. 这样复杂度O(100) 异常优秀. 考虑不那么优秀的dp.…
Description      进去宝藏后, 小火山发现宝藏有N个房间,且这n个房间通过N-1道门联通.   每一个房间都有一个价值为Ai的宝藏, 但是每一个房间也都存在一个机关.如果小火山取走了这个房间的宝藏,那么这个房间通往其他房间的门就永远打不开了,也就是说后面的宝藏小火山是得不到了(进入这个房间的门是不会关闭的,小火山还是可以回去的):如果小火山不取这个宝藏,而是去打开通往另一房间的门,那么这个房间的宝藏就会消失, 小火山就得不到这个房间的宝藏.   不过,小火山已经有了藏宝图,知道每…
Description 小火山获得了一个字符串,然而大火山让小火山从里面截取一段字符串,并且让小火山截取的字符串满足一些字符达到一定数量. 小火山觉得很容易,但是他想要知道他至少得截取多长的字符串.   Input 首先是一个整数t(t<=100),表示测试数据组数.接下来是两个整数n和m(n<=10000, m<=10),n表示字符串的长度,m表示要满足一定数量的字符   的种类.(字符只包含小写英文字母) 个数(没有重复字符种类),然后有m行,每行第一个是一个字符,然后是一个整数x(…
Description 别人说小火山的计算能力不行,小火山很生气,于是他想证明自己,现在有一个表达式,他想计算出来. Input 首先是一个t(1<=20)表示测试组数.然后一个表达式,表达式长度不超过200,只有加法和减法,并且保证第一个字符不会是运算符号,最终结果小于2^63-1. Output 输出运算结果. Sample Input 2 1+1 2+1-1 Sample Output 2 2 #include<cstdio> #include<string.h> in…
Description   小火山最近喜欢上了围棋.   对于围棋,其实小火山是一窍不通的.现在棋盘上,有很多小火山的棋子. 如果棋盘上有这样的一个位置, 那么这个位置也会变成小火山 的棋子:这样的位置是指小火山的棋子将该位置围起来.   现在,小火山想知道实际棋盘是什么样子的. 你快来帮帮他吧! Input 输入第一行是一个整数T(T <= 30), 表示一共有T组数据. 每组数据,第一行为两个整数n, m(1 <= n, m <= 25),  随后一个n*m的矩阵代表棋盘,其中&qu…
题目链接 题目描述 在给定的一个整数序列中,小L希望找到一个连续的区间,这个区间的和能够被k整除,请你帮小L算一下满足条件的最长的区间长度是多少. 输入 第一行输入两个整数n.k.(1 <= n <= 105,1<=k<100)接下来一行输入n个整数,表示序列中的数. 输出 输出一个整数,满足条件区间的最长长度,如果不存在,输出0 样例输入 5 7 1 2 4 1 1 样例输出 3 题解: 先将数组的前缀和数组构建起来.在构建过程中模K,所以此时前缀和数组中所有数属于[0,K-1]…
题目 可以考虑边分治,对于某一种颜色,我们处理出分治边左右两边所有以这个颜色为端点的路径长度,之后随便拼一拼就好了 但是这样对于每一组询问都需要边分一遍,这样做复杂度是\(O(nm+n\log n)\)的 还有一种更暴力的做法,就是枚举树上所有路径,这样就可以直接统计了,复杂度是\(O(n^2)\)的 把这两个暴力结合一下,当一个分治块大小小于\(\sqrt{n}\)的时候,我们就直接跑第二种暴力,否则我们就跑边分治 跑第二种暴力的时候我们需要快速判断当前这个点对对应哪一个询问,于是需要二分一下…
以下考虑直接对所有$F(A)$求和,并给出两种做法-- 做法1: 枚举答案$A$,对应方案数为${n-A\choose m}^{2}-{n-A-1\choose m}^{2}$,即答案为$\sum_{i=0}^{n-1}({n-i\choose m}^{2}-{n-i-1\choose m}^{2})F(i)$ 记$G(n)=\sum_{i=0}^{n-1}{n-i\choose m}^{2}F(i)$,有$ans=G(n)-G(n-1)$,以下仅考虑求$G(n)$ 不难证明$G(n)$是一个关…
#include <stdio.h> #include <algorithm> #include <string.h> #include <vector> using namespace std; ]; ], v[]; vector<]; long long dfs(int start) { int len; len = Q[start].size(); ) { return v[start]; } ; int i; ; i<len; i++)…
#include <stdio.h> #include <algorithm> #include <string.h> using namespace std; #define oo 0x3f3f3f3f ], dp[][]; int main() { int T; scanf("%d", &T); while(T--) { int n, k; scanf("%d %d", &n, &k); ; i<…
1.莫队算法 TLE 80 #include<bits/stdc++.h> #define rep(i,x,y) for(register int i=x;i<=y;i++) using namespace std; ,M=; int h[N],n,m,a[N],ans[M]; struct node{ int l,r,id; bool operator<(const node&b)const{ if(h[l]==h[b.l])return r<b.r; return…
题目链接  Problem D 这个题类似 SPOJ GSS3 做过那个题之后其实就可以秒掉这题了. 考虑当前线段树维护的结点 在那道题的基础上,这个题要多维护几个东西,大概就是左端点的奇偶性,右端点的奇偶性. 以及当前结点代表的区间是否是一个有效的子序列. 时间复杂度$O(nlogn)$ #include <bits/stdc++.h> using namespace std; #define rep(i, a, b) for (int i(a); i <= (b); ++i) #de…
题目链接:http://acm.zzuli.edu.cn/problem.php?id=2628 题目描述        放假了,小新决定出去散散心,于是他来到了著名的字母广场.这个广场是由n*m块砖块铺成的,每个砖块上都有一个小写字母,所以叫字母广场.广场里好玩的东西太多了,小新刚喝完奶茶,就准备去广场的另一边去吃小吃.小新在走时,低头看了一眼广场地面上的字母,突然想到了一个问题.自己在移动过程中,会路过一些砖块,将这些砖块上的字母依次拼接在一起,可以得到一个字符串.      小新移动的规则…
还是纯粹不会啊……到底该怎么办 http://blog.sina.com.cn/s/blog_86942b1401016m3g.html http://www.cnblogs.com/datam-cy/archive/2012/06/12/NOI2004-hut.html var n,m,i,ln,rn,lm,rm:longint; k1,k2,ans,tmp:double; function area(s,len:longint;k:double):double; begin ); area:…
题目大意: 有n个物品排成一排,每个物品都有自己的价值,你每次可以从中挑选两个距离为k的物品取走,问最大的收益. (如果原来两个物品中间有物品被取走,距离不变) 思路: 贪心. 先按照每个物品的位置mod k以后分类. 如果mod k以后对应的这一组有奇数个物品,那么肯定有一个拿不了,否则肯定都能够拿完. 那么对于个数为奇数的组,我们要从中找出一个价值最小的物品从里面去掉,同时要满足在这个物品左右的物品个数都是偶数(因为相邻两个两两配对). #include<cstdio> #include&…
题目链接:http://acm.zzuli.edu.cn/problem.php?id=2619 题目描述        马上就要新生赛了,QQ群里正在统计所有人的信息,每个人需要从群里下载文件,然后将自己的信息填入文件中.完成后,再将有自己信息的那张表上传到群里.上传后的新文件就会覆盖群里原本的文件,后面的人再下载就会下载新上传的那份文件,直到再有人在上传文件.所有人都上传自己的文件后,管理员会将最后上传的文件作为最终版本.       聪明的小新也在群里,善于思考的他发现这样显然是有BUG的…
题解: 先利用dfs找出各个节点之间的关系.然后利用一个sum[i][j] 数组  sum[i][0] 表示i这个节点收到影响的次数 sum[i][1]表示i这个节点的儿子们收到影响的次数 sum[i][2]表示i的孙子们受到影响的次数,那么我们 可以用sum[f[f[x]]][2]+sum[f[x]][1]+sum[x][0] 表示x这个点被炸的次数,当要轰炸x的时候, sum[f[f[x]]][0]++; // grafa sum[f[x]][0]++;// fa sum[f[x]][1]+…
题意:中文题就不解释了 题解: dp[i][j]表示前i 个轮盘 和一个字符串前j 个字符的匹配情况 ,具体的状态转移解释见代码 #include <cstdio> #include <cstring> #include <iostream> #include <string> using namespace std; int n,m,q; ][]; ][]; int main() { cin>>n>>m>>q; mems…
大意: 给定树, 每个点初始权值0, 每次询问给出$x$, $x$权值+1, 求距离$x$不超过2的权值和. 这题数据范围过大, 动态点分治卡不过去, 考虑其他做法 考虑每次只加范围$1$, c[0]是单点更新, c[1]是更新所有儿子 while (m--) { int x; scanf("%d", &x); ++c[fa[x]][0],++c[x][0]; ++c[x][1]; printf("%d\n", c[x][0]+c[fa[x]][1]); }…