在 C# 中有一个特性 CallerMemberName 可以给方法知道调用这个方法的方法名,在 UWP 中用这个特性很多,特别是在使用 MVVM 绑定 如果在构造函数使用这个特性会发生什么? 构造函数可能是方法调用,可能是反射调用,可能是基类使用,这些使用的值是什么? 先定义一个类 public class F1 { /// <inheritdoc /> public F1([CallerMemberName] string name = "") { Debug.Writ…
title author date CreateTime categories C# 在 构造函数添加 CallerMemberName 会怎样 lindexi 2019-05-21 11:28:32 +0800 2019-1-2 19:6:44 +0800 C# 在 C# 中有一个特性 CallerMemberName 可以给方法知道调用这个方法的方法名,在 UWP 中用这个特性很多,特别是在使用 MVVM 绑定 如果在构造函数使用这个特性会发生什么? 构造函数可能是方法调用,可能是反射调用,…
2019.3.18 C O D E T1 树上直接贪心,环上for一遍贪心 哇说的简单,码了将近一下午终于码出来了 感觉自己码力/写题策略太糟糕了,先是搞了一个细节太多的写法最后不得不弃疗了,然后第二次思路又有问题,最后重构了两遍代码 大概先是需要多想,想清楚了不要先考虑细节,果断写+调 废话结束 对于入度大于一且不在环上的点直接贪心留最大的 对于一个完美无瑕的环直接断最小的(指没有被环以外的点指着) 对于入度大于一且在环上的点,先假装它就是普通的入度大于一的点来做并记录每个点是否断了环上的边和…
本阶段我们将了解Python是如何管理内存的,学习内存管理让我们掌握python的运行机制: 并且在python中有许多函数式编程的特性,比如闭包,装饰器和生成器,这些都是一些比较难掌握的概念,但面试会经常遇到. 1.生成器与列表的对照使用 在Python中, 一边循环一边计算的机制, 称为生成器: generator 创建生成器: G = ( x*2 for x in range(5)) 可以通过 next(生成器) 函数获得生成器的下一个返回值 没有更多的元素时, 抛出 StopIterat…
1.新建文件创建一个应用类 stu Python manage.py startapp stu 2,创建应用类 记得在setting中的installed_apps中添加应用 student/models.py中创建Stu模型类   写下自己需要的字段名   # -*- coding: utf-8 -*-   from __future__ import unicode_literals       from django.db import models       # Create your…
传送门 数据结构优化计数菜题. 题意简述:给nnn个点问有多少个www型. www型的定义: 由5个不同的点组成,满足x1<x2<x3<x4<x5,x3>x1>x2,x3>x5>x4x_1<x_2<x_3<x_4<x_5,x_3>x_1>x_2,x_3>x_5>x_4x1​<x2​<x3​<x4​<x5​,x3​>x1​>x2​,x3​>x5​>x4​ 思路: 本…
let d = Date.prototype; Object.defineProperties(d, { 'year': { get: function () { return this.getFullYear() }, set: function (y) { this.setFullYear(y) } }, 'month': { get: function () { return this.getMonth() + 1 }, set: function (m) { this.setMonth(…
T1: 把每一行状压,按行DP.设fi,j,k,i表示第几行,j是当前行的1覆盖状态,k是当前行选择按钮的状态.转移的时候枚举j和k,再枚举下一层的按钮选择情况l.如果l和j可以全覆盖当前层则转移合法,根据下一层选择l状态的代价进行转移.预处理一行每一种选法i可以覆盖到的状态di,各行选择按钮状态i对应的代价dpi,以及每一行的初始状态bi.转移时下一层的覆盖情况就是k|dl|bi+1.初始化第一层是所有选法i对应的代价,即f1,d[i]|b[1],i=dp1,i. 整个DP过程的复杂度是O(3…
meet 大概思路就是 , 找出相交的路径 , 判断方向 , 分类讨论.. 假设已经找出了相交路径 ... 若方向相同 , 则找到相交路径上边权的最大值 , 若最大值>出发时间差 , 则可行. 原因: 由于方向相同所以在相交路径上这两个点的相对距离是不变的,看最大的边权即可. 这个东西用st表就可以搞定 若方向不同,就看看他们相遇的位置是不是相交路径上各个(不一定是最两头的点)边的端点之一. 因为题中说在边上才算 , 点不能算到边上. 所以不在点上就一定会在边上相遇. 然后就是怎么找相交路径了.…
 tinymce是一款综合口碑特别好.功能异常强大的富文本编辑器,在某些网站,甚至享有"宇宙最强富文本编辑器"的称号.那么,在Vue项目中如何集成呢?这并不困难,只需要参照官方教程即可.难点在于如何将默认的英文本地化为中文.  本人参考了众多网络资料进行本地化,竟发现没有一篇文章能够完全走通,并且各个教程显得极其繁琐.因此重新参考官方教程,反复实践,终究得以攻克.最终的方案较为简洁,基于官方包较为可靠.现将配置的细节.一些关键的要点分享如下.  本文使用的版本:tinymce-vue…
1. 代码: package class20191021; class Grandparent { public Grandparent() { System.out.println("GrandParent Created."); } public Grandparent(String string) { System.out.println("GrandParent Created.String:" + string); } } class Parent_2 e…
开玩笑的啦,没有LFCR这种沙雕东西 为什么突然想起来写这个呢,是因为先前照着shell画llehs的时候,总报错,改正了以后又因为看不见而在上一篇博客上没有写明,所以过来好好写一写咯. 可以看出报错里面出了各种稀奇古怪的东东:无法识别#!bin/sh以及觉得每一行代码后面都多了\r 故事开始于上古时期,那个时期的人们还在用打字机帮助自己不用笔.最早的时候打字机是纯机械不用电的,按下Enter是没有办法让光标挪动到下一行的(事实上那个时候既没有Enter也没有光标啦),需要人们拉一下手柄让传动装…
前言 今天做的是是2010年提高组和NOI的题目,做过几道原题,但是还是爆炸了,我真的太弱了. t1-乌龟棋 https://www.luogu.org/problemnew/show/P1541 这道题目还是比较简单的,差不多是三年做过的题目. 简单的DP,定义状态是\(f[i][j][k][l]\)表示i个1的卡牌,j个2的卡牌,k个3的卡牌,l个4的卡牌时的最大分数. O(n^4)的暴力转移 \[f[i][j][k][l]=max(f[i-1][j][k][l]+a[tmp])\] \[f…
传送门 题意:给出一个nnn个点的轮廓,要求找一个高度最小的点使得它能够看见所有拐点. 思路:之间建半平面交然后取半平面交上的每个交点和每个轮廓更新答案即可. 代码: #include<bits/stdc++.h> #define ri register int using namespace std; typedef long long ll; const int N=305; struct pot{ double x,y; pot(double _x=0,double _y=0):x(_x…
传送门 题意:动态维护凸包周长. 思路: 见这篇求面积的吧反正都是一个套路. 代码: #include<bits/stdc++.h> #define int long long #define ri register int using namespace std; inline int read(){ int ans=0; bool f=1; char ch=getchar(); while(!isdigit(ch))f^=(ch=='-'),ch=getchar(); while(isdi…
传送门 题意:qqq次询问把一个凸包整体加一个向量(x,y)(x,y)(x,y)之后是否与另外一个凸包相交. 思路:转化一下发现只要会求A+B={v⃗=a⃗+b⃗∣a⃗∈A,b⃗∈B}A+B=\{\vec v=\vec a+\vec b|\vec a\in A,\vec b\in B\}A+B={v=a+b∣a∈A,b∈B}即可,这个要用到一个叫做MinkowskiMinkowskiMinkowski和的东西. 不会的可以画个图,发现最后的向量集组成的凸包每条边都是由A,BA,BA,B中的边拼成…
传送门 题意:动态插入点,维护凸包面积. 思路:用setsetset维护极角序来支持面积查询即可. 然后注意选原点的时候要从初始三个点随机平均系数来避免精度误差. 代码: #include<bits/stdc++.h> #define ri register ll using namespace std; typedef long long ll; inline ll read(){ ll ans=0; bool f=1; char ch=getchar(); while(!isdigit(c…
传送门 题意:给nnn个A∗BA*BA∗B的矩形,其中每个矩形的四个角被改造成了半径为rrr的四分之一 圆,问这些矩形的凸包周长. 思路:考虑求出圆心的凸包周长然后加上一个整圆的周长,证明很简单,略掉. 代码: #include<bits/stdc++.h> #define ri register int using namespace std; const int N=10005; struct pot{ double x,y; friend inline pot operator+(con…
传送门 题意简述:给一个N个点的凸多边形,求离每一个点最远的点. 思路:先根据初中数学知识证明决策是满足单调性的,然后上分治优化即可. 才不是因为博主懒得写二分+栈优化呢 代码: #include<bits/stdc++.h> #define ri register int using namespace std; inline int read(){ int ans=0; bool f=1; char ch=getchar(); while(!isdigit(ch)){if(ch=='-')…
传送门 题意简述:支持在某个历史版本上修改某一个位置上的值,访问某个历史版本上的某一位置的值. 思路: 用主席树直接维护历史版本即可. 代码: #include<bits/stdc++.h> #define ri register int using namespace std; inline int read(){ int ans=0,w=1; char ch=getchar(); while(!isdigit(ch)){if(ch=='-')w=-1;ch=getchar();} whil…
传送门 题意:维护可持久化并查集,支持在某个版本连边,回到某个版本,在某个版本 询问连通性. 思路: 我们用主席树维护并查集fafafa数组,由于要查询历史版本,因此不能够用路径压缩. 可以考虑另外一种优化方式:按秩合并貌似直接瞎合并也能过 于是主席树再额外维护一个该节点的秩即可. 代码: #include<bits/stdc++.h> #define ri register int using namespace std; inline int read(){ int ans=0; char…
传送门 题意简述:支持在把某个数插入到某版本的第k个位置,删除某版本第k个数,询问第k个数. 思路:用可持久化treaptreaptreap维护区间第kkk个位置的数是啥就可以了. 代码…
传送门 二进制分组入门题. 主席树写错调题2h+2h+2h+体验极差. 题意简述:给一堆点,支持加入一个点,询问有多少个点跟(x,y)(x,y)(x,y)曼哈顿距离不超过kkk. 思路:题目要求的是对于一个斜着的正方形的查询. 我们考虑转切比雪夫距离转成正常的正方形. 然后就变成了一个动态的二维数点问题. 这个时候已经可以上cdqcdqcdq分治+扫描线或者树套树切题啦. 然而还有一种叫做二进制分组的方法可以支持强制在线的操作. 我们考虑将修改分组,例如对于前19=16+2+119=16+2+1…
传送门 长链剖分好题. 题意简述:给一棵树,问边数在[L,R][L,R][L,R]之间的路径权值和与边数之比的最大值. 思路: 用脚指头想都知道要01分数规划. 考虑怎么checkcheckcheck. 发现就是求在转化成真·边权之后有没有长度在[L,R][L,R][L,R]之间的路径权值是大于0的. 然后可以设计状态fi,jf_{i,j}fi,j​表示iii开头长度为jjj的路径最大值,这个可以用长链剖分优化转移. 然后考虑怎么把经过iii的两条路径拼起来更新答案,这个可以用线段树优化转移,然…
传送门 题意简述:给一棵带权树,问在上面随机选两个点距离是4的倍数的概率. 思路: 由于总方案数为定值n2n^2n2,所以只用求总方案数. 这个跟聪聪可可差不多,可以用类似树形dpdpdp的方法边点分治边更新答案. 代码…
首先得出一个结论:==是比较变量内存的数据,Equals是值比较.但是他们都能被重写,所以object又增加了一个RefrenceEquals不可被重写,只比较数据: [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success), NonVersionable, __DynamicallyInvokable] public static bool ReferenceEquals(object objA, object obj…
其实没必要为枚举显式赋值,如果赋值了,就一定要全部赋值,否则默认在上一个元素的基础上+1,如果不给枚举变量赋值,就算枚举中没有0元素,也会显示为0,而超出枚举范围的整型数据,也会显示值本身,而不是异常. public enum mycolor{ green=, red, yellow= } console.writeline(mycolor.red);//显示为2 console.writeline((mycolor));//显示为9 mycolor m; console.writeline(m…
区别: const是编译时常量(指反编译时看到的源码是常量本身,而不是变量),自带static,只能修饰基元类型.枚举.字符串,readonly是运行时常量(全局变量或者构造赋值),不受类型限制,但在运行时,第一次赋值后,不可改变.此处不可改变也分两种情况:值类型时,值本身不可改变,引用类型时,地址不可改变,对象的属性还是可以改变的.…
Parse转换失败时会抛出异常,耗损性能,如果转换成功,则与TryParse无差异.查看源码,tryparse的代码更多一些,在失败时,反而性能更优,主要是抛出异常耗损了性能.所以在不确定是用Tryparse,确定成功时用Parse,毕竟少写两行代码.…
1.咒语 (curse.pas/c/cpp) [题目描述] 亮亮梦到自己来到了魔法城堡,但一扇巨大的石门阻拦了他通向城堡内的路.正当他沮丧之际,突然发现门上有一处机关,机关上有一张很长的纸条.亮亮拿起纸条的一端,只见上面写着打开机关的方法:“打开机关需要念动符咒,咒语是一串长为 L 的由 0 和 1 组成的字符串.在这张长纸条上列了 n 个长为 L 的字符串,正确的咒语即是在纷繁的 2^L 种字符串中,与这些纸条上的字符串相异度之和最小,并且在满足这一条件下, 0 的个数最多的字符串.两个字符串…