2 henucm

尚未进行身份认证

那就再努力一点吧

等级
TA的排名 2w+

微信小程序 1.16学习

获取目前所处位置onShow(){ var that=this; wx.getLocation({ type: 'wgs84', success(res) { const latitude1 = res.latitude; const longitude1 = res.longitude; const s...

2020-01-17 00:18:22

链接的各个组成部分 (1.15)

单页面应用的优缺点单页面应用指只有一个主页面的应用,浏览器一开始就要加载所有必须的html,js,ss,单页面的页面跳转仅刷新局部资源,多应用于pc端,多页面就是指一个页面中有多个页面,页面跳转时是整页刷新单页面优点:1.用户体验好,快,内容改变不需要重新加载整个页面;2.没有页面之间的切换,就不会出现“白屏现象”单页面缺点:1.首次加载耗时比较多;2.不利于SEO3.不可以用...

2020-01-15 20:27:26

Codeforces Round #601 (Div. 2) C. League of Leesins 暴力

传送题意:有一个长度为n的全排列 从一个开始 每次取三个 放到一个数组里(n-2) 将这n个数组乱序 数组里的数乱序 根据这n-2个数组 推出 原长度为n的数组是什么 答案有多个 输出任意一个即可思路:对于每一组的三个数 将其所有组成可能放入vector 并记录 出现次数 找到出现次数为1的 则为头(x) x中次数为2的为第二个数 然后就可以依次推出所有的数。#include<...

2019-11-20 14:21:32

Forsaken的位运算魔法 类欧几里得

传送从贡献角度考虑。遍历 k 的每一位,若这一位为 0,计算有多少个 ij 这一位为1。反之计算这一位有多少个数字为 0。计算有多少个 ij 第 p 位为 1,等价于计算 我们固定i, 会发现这个是类欧几里得算法形式,套个类欧的模板即可。原博主#include<bits/stdc++.h>#define ll long longusing namespace std;...

2019-11-19 20:43:15

C. Beautiful Lyrics 贪心

传送题意:按规则拼词思路:先按元音结尾排序取第二种词,再按数目取第一种词,贪心的先用第一种词,如果不够,就第二种词可以当第一种用.#include<bits/stdc++.h>#define ll long longusing namespace std;const int MAXN=1e5+10;struct node{ string word; ...

2019-11-19 16:30:49

B. Born This Way 思维

传送题意:给你n趟A到B的航班 以及航班到达时间为ta 和 m趟B到C的航班 以及到达时间为tb 你最后可以取消k趟航班 尽量使得别人最晚到达C 如果不能到达C 输出-1思路:二分 将到达B点的所有时间 以及 B的出发时间 进行排序 ( 因为到达B的时间越晚越好 )然后枚举取消A到B的数量 然后二分找到B中小于等于a[i+1]的位置 如果剩下的航班数小于 k-i 则输出-1 否则 维护一...

2019-11-17 17:29:35

Codeforces Global Round 3 C. Crazy Diamond

传送题意:给出一个1∼n的排列要求将其排序,每次能交换两个位置的数当且仅当这两个位置下标差的绝对值的二倍大于等于n。要求输出一组操作数不大于5n的方案并保证一定有解。思路:容易发现1和n这两个位置是很好用的,1可以和右半段中的任何一个交换,n可以和左半段中的一个任意交换对于一个在 左半段 想换到 右半段 的数字,把右半段的数字先换到1 再换到n 然后让n和i交换即可对于一个在 左半段...

2019-11-16 16:26:49

D. Yet Another Monster Killing Problem 贪心

传送题意:有n个怪兽 ,每个怪兽都有能力值a[i]。然后现在你有m个英雄,每个英雄也有能力值p[i],每个英雄还有一个s[i],表示这个英雄一天最多能消灭多少个怪兽现在你必须一个接一个的消灭怪兽,不能改变顺序,然后问你最少多少天,能够消灭所有的怪兽。思路:维护一个 耐久度 数组#include<bits/stdc++.h>using namespace std;...

2019-11-15 16:04:01

D. Dirty Deeds Done Dirt Cheap 思维

传送题目:给你n对 (ai bi) 这些数进行重排 使其满足 思路:分两种情况 ai>bi 和bi>ai 所以就是看这两种谁的对数多可以证明 所有的ai>bi都满足 a1>b1a2>b2a3>b3 将他们按照升序进行排列 b1<b2 && a2>b2 所有 a1>b1<a2 ...同理 ai&...

2019-11-15 13:53:15

Codeforces Round #552 (Div. 3) E. Two Teams 暴力+双向链表

传送题意:将n个人分成2个队,每次选取队伍中未被选取的最大值,然后顺便选取左边相邻的k个数(有多少拿多少) 问你最后队伍的分配情况。 #include<bits/stdc++.h> using namespace std; const int maxn=2e5+10; int a[maxn]; struct node{ i...

2019-11-14 18:13:39

Codeforces Round #564 (Div. 2) C. Nauuo and Cards 思维

传送门题意:在一次操作中,她可以选择手中的一张牌,然后玩它——把它放在这堆牌的底部,然后从这堆牌中抽出上面的牌。问最后牌低顺序1-n的最少操作。思路:经过简单的手推可以发现 如果一个牌在应该b中的位置是i,那么它在i-1的位置时候 需要移动n次才能达到i。即 ans=max(ans,per[i]-(i-1)+n) 这是最坏的情况 也就是先把所有牌都放在手上 然后依次插入还有一种情况...

2019-11-14 18:06:43

Codeforces Round #554 (Div. 2) C. Neko does Maths

传送门题意:让两数加上同时加上k,使得公倍数最小。思路:首先有个结论 gcd(a,b)=gcd(a,b-a), 因为假设gcd(a,b)=c,那么a%c=b%c=0,又有(a-b)%c=0,所以gcd(a,b)=gcd(a,b-a),根据题意,让lcm最小那么就是要求最大的gcd,最大的gcd必定是两数中最大的约数,由于题目中b-a是定值,所以就可以枚举b-a的约数,然后把a凑到含有此约...

2019-11-14 17:59:26

hdu 6563 贪心

传送门题意:你有n只怪,每只怪的伤害为ai​,对手有m只怪,每只怪的伤害为bi​,对手的怪有普通状态和防守状态(普通状态:如果你用攻击力为ai(ai≥bj)的怪去攻击对手第j只怪将会给对手造成ai−bj​的伤害;防守状态则不会造成ai−bj​的伤害),每只怪只能使用一次,怪一旦死亡就会消失。用攻击力为x的怪去打攻击力为y(的情况上面说了)的怪会有以下两种情况:x<y:对手不受到...

2019-11-08 23:36:17

E. Duff as a Queen线段树区间修改+线性基

传送门题意:给你一个数组,有两种操作,一种区间xor一个值,一个是查询区间xor的结果的种类数对于一个给定的区间,我们可以通过求解线性基的方式求出结果的种类数,而现在只不过将其放在线段树上维护区间线性基。#include <bits/stdc++.h>using namespace std;struct L_B { long long d[31]; ...

2019-11-02 15:27:05

F. Ivan and Burgers 前缀线性基

传送门题意:首先输入n,代表当前有n个数,然后再输入m,代表m次询问,每一次询问是询问区间[l,r],这段区间内的数的最大异或值。思路:处理出来一个前缀线性基,记录线性基上该位置是在原序列的哪个位置,求值的时候在第r个线性基上找,如果位置>=l则是合法的。如果有两个相同的数在同一位,遇到这种情况则用贪心的想法,如果在同一位上明显原序列越大的数越优,因为如果把原序列小的留下,则区间长度...

2019-11-02 12:52:13

hihocoder#1727 : 区间表示 线性基合并+线段树区间查询 端点更新

传送门中文题。思路:判断2个异或组成的数的集合的关系,就要利用到线性基的知识。如果1个线性基包含另一个线性基,那么另一个线性基里的任意元素一定能被这个线性基表示出来。其它的就是利用线段树维护线性基了。(不过我代码跑的速度有点慢~)#include<iostream>#include<algorithm>#include<cmath>#incl...

2019-11-01 17:11:41

ACM-ICPC 2017 西安赛区现场赛 A. XOR线段树 + 线性基合并

传送门题目大意:初始有一个序列a,有q个询问,每次询问 k | [l,r] 区间内子集异或的值的最大值是多少。思路:根据题意,选取一部分值得到异或最大值,可以想到线性基,但是最后要OR上k,所以要消除k对其影响,我们就把每个数转化成二进制,然后将k为1的位置对于每个数其位置就变为0,这样就可以消除其k的影响了,最后在OR上k变回来,即为正确答案。比如数a[i]=6(110) ,k = 4(...

2019-10-31 23:21:08

Wannafly挑战赛14 E 无效位置 并查集+线性基

传送门题意:给你n个数字,n个消除位置的顺序,问每次消除前不包含无效位置的区间的异或和的最大值。题解:我们反向加入数字,那么每次会和pos-1与pos+1的区间合并,我们通过线性基记录每个位置的情况,通过并查集合并,查询合并完的线性基的最大异或和,就可以了。#include<iostream>#include<cstring>#include<cma...

2019-10-30 23:35:20

hdu6579 Operation 前缀线性基

传送门题意:两个操作,1个是求【l,r】区间子序列的最大异或和,另一个是在最后面添加一个数。如果题目简化成求【1,,i】的最大异或和,那么该怎么想呢....当然是处理出来一个前缀线性基。那么如何求一个区间呢....那就处理前缀线性基的时候记录线性基上该位置是在原序列的哪个位置,求值的时候在第r个线性基上找,如果位置>=l则是合法的。可是这样想有点怪怪的。如果有两个相同...

2019-10-28 23:15:28

Codeforces Round #589 (Div. 2) E. Another Filling the Grid dp

传送门原博主 #include<bits/stdc++.h> #define ll long long using namespace std; const int maxn=310; const ll mod=1e9+7; ll comb[maxn][maxn]; ll dp[maxn][maxn]; ll ...

2019-10-28 23:12:39

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周上午根据用户上周周三的博文发布情况由系统自动颁发。