last

mysql语法笔记

冷暖自知 提交于 2020-04-08 13:59:49
SQL语法笔记 基础查询 distinct去除重复行; concat()使用concat包含多个字段作为一个字段输出; select concat(last_name ,',', first_name ,',',salary) as 员工工资 from employees; as 别名,as也可以省略但是加as可以提高可读性; ifnull()函数:如果连接查询某个字段包含null,会导致该列的数据显示为空,使用ifnull判断一下可以有效解决该问题 select concat(department_id,',',last_name,',',manager_id) from employees ; -- 上图是不加ifnull函数,返回的值中有null select concat(department_id,',',last_name,',',ifnull(manager_id,0)) as 奖金率 from employees ; limit 限制输出返回行输 字符型和日期型的常量值必须用单引号引起来,数值型不需要 isnull函数,判断某字段或表达式是否为null,如果是则返回1,否则返回0 select isnull(commission_pct), commission_pct from employees; 条件查询 select 查询字段 from 表名 where

【区块链新手快速入门】如何构建一个区块链

社会主义新天地 提交于 2020-04-07 17:09:06
本文翻译自《Learn Blockchains by Building One》,作者 @dvf ,原文链接: https://hackernoon.com/learn-blockchains-by-building-one-117428612f46 去年10月24日,区块链被提升至国家战略地位,包括传统大企业、央企等在内的公司纷纷布局区块链。社会上掀起了一阵学习区块链的热潮,而区块链人才也成了“抢手货”。 对于我们这种写程序的工匠来说,学习区块链最快的方法不外乎自己创建一个区块链。下文,将带领大家建立一个简单的区块链,在实践中学习,既能加深对区块链的理解,又能获得技能。 区块链是由一个个不可变的、连续的记录信息的区块连接在一起的链。区块包含交易信息、文件或任何你想要记录的数据。最重要的是,各个区块由“哈希”链接在一起。 在开始前,你需要安装Python3.6+(以及pip)、Flask、Requests library: pip install Flask==0.12.2 requests==2.18.4 另外,还需要一个HTTP客户端,Postman或cURL均可。 接下来可以开始了。 Step 1 :创建一个区块链 打开文本编辑器或IDE,这里推荐PyCharm。 创建一个新文件,命名为 blockchain.py 。整个过程只会用一个文件,如果你弄丢了,可以在这里找到源文件

MongoDB 聚合管道使用

拜拜、爱过 提交于 2020-04-07 16:40:49
数据准备 [ { "name": { "first_name": "qingquan", "last_name": "zeng" }, "balance": 100 }, { "name": { "first_name": "fengxia", "last_name": "yu" }, "balance": 200 } ] 插入数据 db.accounts.insert([{"name": {"first_name": "qingquan","last_name": "zeng"},"balance": 100},{"name": {"first_name": "fengxia","last_name": "yu"},"balance": 200}]) 数据查询 $project # aggregate 中的 $project 除了可以实现投影效果,还直接使用了一个不存在的字段 client_name ,相当于 mysql 中的 as 语法 > db.accounts.aggregate([{ ... $project:{ ... _id:0, ... balance:1, ... client_name:"$name.first_name" ... } ... }]); { "balance" : 100, "client_name" : "qingquan" } {

【XSY2495】余数

和自甴很熟 提交于 2020-04-07 13:27:45
Input Output Input 3 4 Output 4 HINT 原式 =n*m-n除以i向下取整 用数论分块做就可以了 #include<bits/stdc++.h> #define mod 1000000007 using namespace std; long long ans; long long n,m; int main(){ scanf("%lld%lld",&n,&m); for(register long long i=1,last=0;i<=m;i=last+1) { long long p=n/i; if(p) { last=min(n/p,m); }else{ last=m; } ans=(ans+(((last-i+1)%mod*((n%i)%mod+(n%last)%mod))%mod*500000004))%mod; } printf("%lld",ans); return 0; } 来源: https://www.cnblogs.com/2017gdgzoi44/p/11348536.html

HDU 4812 (点分治)

大兔子大兔子 提交于 2020-04-07 12:05:05
题目: https://vjudge.net/contest/307753#problem/E 题意: 给你一颗树,树上每个点都有个权值,现在问你是否存在 一条路径的乘积 mod 1e6+3 等于 k的路径,如果有找到字典序最小的方案 思路, 树上路径~点分治 我们能知道每条路径的值,现在我们可以转化的问题是,怎么找一条路径等于K,和两条路径的乘积等于K, 首先第一种很明显就是判断相不相等即可,第二种的话,我们知道所有路径,我们怎么找到O(n)找到两个呢,我们用个数组存下所有是否出现过,然后,其实就是一个简单的小学问题,我们枚举每个距离的时候相当于 x,y,z已经知道 x,z了,式子是x*y=z,我们就只要判断z/x是否在标记数组中出现过即可,又因为这个有mod ,所以我们只能去乘z的逆元,这个时间卡的有点紧,我加了输入挂,和预处理逆元,map标记都不能用,只能用普通标记数组。 然后还有一个问题,你是否能和之前那样直接求出来所有的距离,答案是否定的,因为你直接去遍历数组标记,数组中的路径还含有两个都是同一子树的情况,这种时候是不能加入标记数组的,但是怎么避免呢,这里用到一个巧妙地方法,我们直接在计算所有路径到重心的距离的时候去更新答案,因为我们只有得到一个子树所有答案的时候才会存入标记数组,这样就避免一个子树的路径发生冲突的情况。最后我们再清空掉我们当前重心存入的答案。

使用Python操作Redis

老子叫甜甜 提交于 2020-04-06 20:06:45
使用Python操作Redis 2014年5月15日 by debugo · 8条评论 1. 安装pyredis 首先安装pip <SHELL># apt-get install python-pip ...... <SHELL># pip install --proxy=http://172.1.2.6:8080 redis Downloading redis-2.9.1.tar.gz (62kB): 62kB downloaded Running setup.py (path:/tmp/pip_build_root/redis/setup.py) egg_info for package redis ...... Successfully installed redis Cleaning up... 1 2 3 4 5 6 7 8 < SHELL > # apt-get install python-pip . . . . . . < SHELL > # pip install --proxy=http://172.1.2.6:8080 redis Downloading redis - 2.9.1.tar.gz ( 62kB ) : 62kB downloaded Running setup .py ( path : / tmp / pip_build_root /

leetcode45

送分小仙女□ 提交于 2020-04-06 11:20:02
1 class Solution(object): 2 def jump(self, nums): 3 """ 4 :type nums: List[int] 5 :rtype: int 6 """ 7 ln = len(nums) 8 curr = 0 9 last = 0 10 step = 0 11 for i in range(ln): 12 if i > last: 13 last = curr 14 step += 1 15 curr = max(curr, nums[i] +i) 16 return step 更新一道进入top 100中的hard难度的题目,这道题我在去年秋招的时候遇到过,当时没有做出来。 参考: https://leetcode.com/problems/jump-game-ii/discuss/562493/Java-and-Python-Greedy-DP 来源: https://www.cnblogs.com/asenyang/p/12640791.html

HDU 1405 The Last Practice

旧城冷巷雨未停 提交于 2020-04-06 07:01:51
The Last Practice Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 9226 Accepted Submission(s): 1960 Problem Description Tomorrow is contest day, Are you all ready? We have been training for 45 days, and all guys must be tired.But , you are so lucky comparing with many excellent boys who have no chance to attend the Province-Final. Now, your task is relaxing yourself and making the last practice. I guess that at least there are 2 problems which are easier than this problem. what does this problem describe? Give you a positive integer, please

HDU 1405 The Last Practice

落爺英雄遲暮 提交于 2020-04-06 06:30:43
Description Tomorrow is contest day, Are you all ready? We have been training for 45 days, and all guys must be tired.But , you are so lucky comparing with many excellent boys who have no chance to attend the Province-Final. Now, your task is relaxing yourself and making the last practice. I guess that at least there are 2 problems which are easier than this problem. what does this problem describe? Give you a positive integer, please split it to some prime numbers, and you can got it through sample input and sample output. Input Input file contains multiple test case, each case consists of a

洛谷P4995 贪心

偶尔善良 提交于 2020-04-05 19:39:09
题目链接 https://www.luogu.com.cn/problem/P4995 分析 你说他是个水题吧,贪心思想又挺好,你说它不水吧,它的确挺水。 因为让求总和最大所以直接贪心,每次取排序后两端的就好,然后我就写了个谜一般的双指针,最后要记录一下 \(last\) 因为最后一次跳的时候不会记录上,然后就没啥了,感觉这个思想还是要好好体会的。 开 \(longlong!!!!!\) #include<iostream> #include<algorithm> #define ll long long using namespace std; const int N=1e3+10; ll a[N]; int main(){ int n; ll ans=0; cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; sort(a+1,a+n+1); ans+=a[n]*a[n]; int i=1,j=n,cnt=1,last=a[n]; while(i!=j){ ans+=(a[i]-a[j])*(a[i]-a[j]); if(cnt)last=a[i],j--; else last=a[j],i++; cnt^=1; } ans+=(a[i]-last)*(a[i]-last); cout<<ans; } 来源: https://www.cnblogs