res

Game of Connections

一个人想着一个人 提交于 2019-11-27 11:10:21
Game of Connections 这个题也是直接求 卡特兰数 ,不过数据有一点大,不能够直接求,因为杭电不能交 python 不然我就用 python 写了.... 对于这么大的数据,还不能写 python 就只能用 高精度 啦 代码: // Created by CAD on 2019/8/15. #include <bits/stdc++.h> #define mst(name, value) memset(name,value,sizeof(name)) using namespace std; using ll=long long; struct BigInt { const static int mod=1e4; const static int blo=4; int a[600], len; BigInt() { mst(a, 0), len=1; } BigInt(int v) //用int初始化 { mst(a, 0); len=0; do { a[len++]=v%mod; v/=mod; } while (v); } BigInt operator+(const BigInt &b) const //重载加法运算符 { BigInt res; res.len=max(len, b.len); for (int i=0; i<=res.len; ++i)

hihocoder1954 : 压缩树

百般思念 提交于 2019-11-27 09:34:24
传送门 首先求出缩一个点 $x$ 的贡献,就是缩 $x$ 的父亲的贡献加上 $x$ 的子树多减少的深度 由于缩父亲的贡献已经考虑过了,那么 $x$ 的子树多减少的深度就是子树的节点数 注意此时要满足 $x$ 不是根节点或根节点的儿子,不然缩和没缩是一样的 设这个贡献为 $sum[x]$ 然后把所有操作 $l,r,v$ 离线,遇到一个操作左端点就把 $v$ 插入 $set$,遇到右端点再取出,在过程中动态维护总贡献 考虑把每个当前加入的节点搞一个虚树 对于一次缩节点的操作,如果它不在虚树链上,只会影响 $x$ 与虚树的第一个交点的一条链,更上面的已经缩过了 设交点为 $u$, 那么贡献就是 $sum[x]-sum[u]$ 如果在原本已经虚树链上了,那么 $x$ 不会有贡献 现在问题是如何求与虚树的交点,考虑原本构造虚树的过程,把节点按 $dfn$ 排序,然后根据与前后节点的 $lca$ 确定具体连边 设前后节点为 $u,v$,如果 $LCA(u,x)=u$ 且 $LCA(v,x)=x$ 那么 $x$ 在虚树边 $(u,v)$ 上,不产生贡献 如果 $LCA(u,x)!=u$ 且 $LCA(v,x)=x$ 那么 $x$ 还是在虚树上 $v$ 到根的路径上,不产生贡献 如果 $LCA(u,x)=u$ 且 $LCA(v,x)!=x$ ,或者 $LCA(u,x)!=u$ 且 $LCA(v,x

leetcode-929

大城市里の小女人 提交于 2019-11-27 08:04:51
929.独特的电子邮件地址 find class Solution: def numUniqueEmails(self, emails: List[str]) -> int: res = set() for email in emails: name, domain = email.split('@') if '+' in email: name = name[:name.find('+')].replace('.', '') else: name = name.replace('.', '') res.add(name + '@' + domain) return len(res) join class Solution: def numUniqueEmails(self, emails: List[str]) -> int: res = set() for email in emails: if '+' in email: pre = email.split('+')[0] else: pre = email.split('@')[0] pre = ''.join(pre.split('.')) pos = email.split('@')[-1] mail = pre + '@' + pos res.add(mail) return len(res) 来源: https:/

ECharts天气预报折线图

谁说我不能喝 提交于 2019-11-27 02:34:52
引入依赖文件 JQuery和ECharts < script src = " ./js/jquery-3.4.1.min.js " > </ script > < script src = " ./js/echarts.min.js " > </ script > < div id = " weather " class = " col-lg-7 col-md-12 " style =" height : 400px " > </ div > 2.初始化图表 // 初始化天气折线图 var weather = echarts . init ( $ ( '#weather' ) . get ( 0 ) ) ; option = { title : { text : '未来一周气温' , subtext : '' } , tooltip : { trigger : 'axis' } , legend : { data : [ '最高气温' , '最低气温' ] } , xAxis : { type : 'category' , boundaryGap : false , data : [ ] } , yAxis : { scale : true , //纵坐标起始点根据最低值变化 type : 'value' , axisLabel : { formatter : '{value}

045 函数的嵌套

南笙酒味 提交于 2019-11-27 00:06:23
函数的嵌套 函数的嵌套其实就是在一个函数内部在定义一个函数 1.函数的嵌套定义 一旦在函数内部定义一个函数,那么函数体内的函数,无法在函数外部使用 def f1(): def f2(): print('from f2') f2() f2() # # NameError: name 'f2' is not defined def f1(): def f2(): print('from f2') f2() f1() # from f2 通过给一个函数传参即可求得某个圆的面积或者圆的周长 import cmath def circle(r,choice): def area(): return cmath.pi*r**2 def perimeter(): return 2*cmath.pi*r if choice == 'area': return area() else: return perimeter() res = circle(3,'perimeter') print(res) # 18.84955592153876 res = circle(3,'area') print(res)# 28.274333882308138 2.函数的嵌套调用 通过函数嵌套求几个数的大小 def max2(x,y): if x > y: return x else: return y res =

leetcode 周赛 Weekly Contest 149

半腔热情 提交于 2019-11-26 23:07:40
这一次终于没有提交WA了。 1154. Day of the Year 简单题。打印一年到现在的天数,区分闰年即可。// 不要问我run, ping是啥意思 = =。 class Solution { public: int dayOfYear(string date) { vector<int> days_run = {31,29,31,30,31,30,31,31,30,31,30,31}; vector<int> days_ping = {31,28,31,30,31,30,31,31,30,31,30,31}; int year = -1; int month = -1; int day = -1; date.push_back('-'); string str; for(auto& ch : date) { if(ch == '-') { if(year == -1) { year = atoi(str.c_str()); } else if(month == -1) { month = atoi(str.c_str()); } else if(day == -1) { day = atoi(str.c_str()); } str.clear(); } else { str.push_back(ch); } } int res = 0; if((year % 4 == 0

Day7

本秂侑毒 提交于 2019-11-26 20:34:52
1.继承 1.1 单继承# ### 继承 """ (1) 单继承 (2) 多继承 至少2个类,子类和父类 一个类继承另外一个类,当前类是子类 (衍生类) 被继承的这个类是父类.(基类,超类) python 所有类的父类都是object """ # 1.子父继承后,子类可以使用父类的公有方法 class Father(): skin = "黑色的" __sex = "男性" def hobby(self): print("爱好喜欢大篮球") def __smoke(self): print("老爸喜欢抽大麻") class Daughter(Father): pass obj = Daughter() print(obj.skin) obj.hobby() # 2.子父继承后,子类不能调用父类的私有方法 class Son(Father): def pub_func(self): print(self.__sex) #error obj = Son() # print(obj.__sex) # obj.pub_func() # 3.子父继承后,子类可以改写父类方法 """self对象优先调用本类中的方法,如果本类当中没有再调用父类.""" class n_selfchild(Father): skin = "白色的" def hobby(self): print("白种人喜欢种大麻"

DTOJ #3160. 序列计数(count)

大兔子大兔子 提交于 2019-11-26 17:58:53
【题目描述】 Alice想要得到一个长度为 $n$ 的序列,序列中的数都是不超过 $m$ 的正整数,而且这 $n$ 个数的和是 $p$ 的倍数。 Alice还希望,这 $n$ 个数中,至少有一个数是质数。 Alice想知道,有多少个序列满足她的要求。 【输入格式】 一行三个数, $n,m,p$。 【输出格式】 一行一个数,满足Alice的要求的序列数量。由于满足条件的序列可能很多,输出结果对 $20170408$ 取模。 【样例】 样例输入 3 5 3 样例输出 33 【数据范围与提示】 对于 $ 20 \% $ 的数据, $ 1 \le n \le 100,1 \le m \le 100 $。 对于 $ 50 \% $ 的数据, $ 1 \le m \le 100 $。 对于 $ 80 \% $ 的数据, $ 1 \le m \le 10^6 $。 对于 $ 100 \% $ 的数据, $ 1 \le n \le 10^9,1 \le m \le 2 \times 10^7,1 \le p \le 100 $。 【题解】 设 $f[i][j][0/1]$ 表示前 $i$ 个数,和在 $mod \ p$ 意义下为 $j$,是否取了质数的方案数。 列出转移式后用矩阵快速幂或多项式优化即可。 【代码】 #include<bits/stdc++.h> const int mod

动态规划类

北城以北 提交于 2019-11-25 19:08:22
子序列的最大和 LeetCode 53 给定一个整数数组 nums ,找到具有最大总和并返回其总和的连续子 数组 (包含至少一个数字)。 例: 输入: [ - 2,1,-3,4,-1,2,1,-5,4], 输出: 6 说明: [4,-1,2,1]具有最大的和= 6。 跟进: 如果你已经找到O( n )解决方案,尝试使用分而治之的方法编写另一个解决方案,这是更微妙的。 动态规划(O(n)) public class Solution { public int MaxSubArray(int[] nums) { if(nums.Length==0){ return 0; } int cur=nums[0]; int res=cur; for(int i=1;i<nums.Length;i++){ cur=nums[i]>(cur+nums[i])?nums[i]:(cur+nums[i]); res=cur>res?cur:res; } return res; } } 分治法,最大子序和要么在左半部分,要么在右半部分,要么就横跨两部分(即包括左半部分的最后一个元素,和右半部分的第一个元素)。返回这三种情况的最大值即可。第三种情况,其中包括左半部分最后一个元素的情形,需要挨个往前遍历,更新最大值。包含右半部分的第一个元素的情况类似。总的时间复杂度O(nlogn) public class