POJ 1185 炮兵阵地 (状态压缩DP)
炮兵阵地 Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 29505 Accepted: 11426 Description 司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队。一个N*M的地图由N行M列组成,地图的每一格可能是山地(用"H"...
View Article数据结构与算法C++描述(12)---堆及最大堆
1、有关堆的相关概念 最大堆(最小树):最大(最小)的完全二叉树。 最大树(最小树):每个节点的值都大于(小于)或等于其子节点(如果有的话)值的数。注意,最大(小)数不一定是二叉树。 完全二叉树:从满二叉树中删除k个元素,其编号为2h−i,1<=i<=k,所得到的二叉树成为完全二叉树。 一个最大堆如下图所示: 2、最大堆的相关操作...
View ArticlePOJ2407 Relatives
欧拉函数 题目传送门 机房一天没网。。。晚上才好 简单欧拉函数的应用。详见注释。 代码: #include<cstdio> #include<cstring> #include<algorithm> #define MAXN 100000 using namespace std; int n,prime[MAXN+5],p; bool f[MAXN+5];...
View Article2个关于Adapter库的源码分析(AdapterDelegate、BaseRecyclerViewHelper)
0x00 概述 核心思想:都是围绕如何解决viewType、视图、数据与视图的绑定来进行一系列的封装,不同的库有着自己不同的手段而已 Adapter能在数据变化时候,内部实现逻辑不会改变,仅在外部添加新功能即可,那么要求Adapter对数据层是解耦的,不能显示持有外部数据,核心要点要把握好 RecyclerView的3个核心API getItemViewType :...
View ArticleBZOJ1037(ZJOI2008)[生日聚会Party]--DP
【链接】 bzoj1037 【解题报告】 定义f[i][j][s][t]表示目前确定了i个人的位置,确定了j个男生的位置,男生比女生多s人,女生比男生多t人。 转移方程: 放一个男生:f[i+1][j+1][s+1][max(0,t−1)]+=f[i][j][s][t] 放一个女生:f[i+1][j][max(0,s−1)][t+1]+=f[i][j][s][t] 所以直接推DP就行了。...
View Article干货 | Elasticsearch5.X Mapping万能模板
0、引言 在关系型数据库如Mysql中,设计库表需要注意的是: 1)需要几个表; 2)每个表有哪些字段; 3)表的主键及外键的设定——便于有效关联。 表的设计遵守范式约束,考虑表的可扩展性,避免开发后期对表做大的改动。 Mysql或者Oracle中,修改数据类型相对比较简单,通过命令行或者navicat、sqldeveloper等可视化工具直接修改。 即便千万级别数据量,多等点时间,也能修改好。...
View ArticlePOJ2478 Farey Sequence
欧拉函数 题目传送门 观察一下式子即可发现,F(n)的个数即为φ(n)。而题目要我们求∑ni=1F(n),即相当于求∑ni=1φ(n)\sum_{i=1}^n\varphi(n)。利用递推式先算出φ(1)−−φ(n),再前缀和处理即可。 代码: #include<cstdio> #include<cstring> #include<algorithm>...
View Articlewin10 uwp 萤火虫效果
本文在Nukepayload2指导下,使用他的思想用C#写出来。 本文告诉大家,如何使用 win2d 做出萤火虫效果。 安装 win2d 安装win2d的方法请使用 Nuget 下载的方法,参见:win10 uwp win2d 下面先让大家看一下效果图再告诉大家如何做 创建界面 界面只需要很简单两句代码,第一句代码是命名引用,第二句代码就是添加 win2d...
View ArticleLua源码揭秘(三)一个比较简单的table库扩展
有了上一篇 Lua源码揭秘(二)一个简单的数学扩展库函数的经验之后,我们尝试写稍微复杂一点的库函数。 我们直接打开ltablib.c(再次强调:在实际工作中的标准做法是在宿主语言中实现)。 添加以下代码: static in values(lua_State *L) { luaL_checktype(L, 1, LUA_TTABLE); lua_newtable(L);...
View Articleleetcode: 7.Reverse Integer
Topic Reverse digits of an integer. Example Example1: x = 123, return 321 Example2: x = -123, return -321 Note: The input is assumed to be a 32-bit signed integer. Your function should return 0 when...
View Article设计模式之工厂方法模式
1.定义:工厂方法模式属于创建类模式,定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类 2.类图 3.结构: 工厂接口:工厂接口是工厂方法模式的核心,与调用者直接交互用来提供产品。在实际编程中,有时候也会使用一个抽象类来作为与调用者交互的接口,其本质上是一样的。...
View Articleleetcode: 9. Palindrome Number
Topic Determine whether an integer is a palindrome. Do this without extra space. Submit Solution class Solution(object): def isPalindrome(self, x): """ :type x: int :rtype: bool """ if x < 0:...
View ArticleSalesforce修改相关列表标签名
在多对多关系的结构中,比如A和B多对多关联,需要建立C表, 其中C表和A表建立查找关系,C表和B表也建立查找关系。 如果在A中要展示多对多的列表,采用中间表默认会显示中间表名称,例如: 住房房产下默认显示的是中间表的名字(住房房产_车位), 要将这个名字修改成自定义label: 1.进入中间表,查看自定义字段,选择一个查找关系,点击编辑。...
View Article洛谷P1052 过河(NOIp2005)
DP 题目传送门 DP应该比较好想,主要是怎么压缩距离。 因为L有1e9,而s和t只有10,因此我们可以考虑在s和t上做文章。压缩距离需要保证不管怎么跳,最终状态都是等价的。 设lcm=LCM(s,s+1,…,t),则对于所有间隔>lcm的石子,把距离%lcm+lcm。因为不论怎么跳,总会跳到lcm这个点。而两个石子之间不会有石子,因此可以把lcm这块给省掉去。然后直接做DP就可以啦!...
View ArticleBZOJ1011(HNOI2008)[遥远的行星]--估计
【链接】 bzoj1011 【解题报告】 这题看题解才知道是估计题,可以发现用 j−i2作为分母能够得到较为精确的答案。于是装作 Mj∑⌊A×j⌋i=1Mij−i2 是答案就行了。 #include<cstdio> using namespace std; const int maxn=100005; int n; double A,ans,a[maxn],sum[maxn]; int...
View Article归并排序算法的过程图解
归并排序 1 你会学到什么 2 讨论的问题是什么 3 相关的概念和理论 4 归并排序过程详解 归并简介 二路归并 二路归并演示 总体思路 完整例子 5 算法评价 6 总结 欢迎关注算法channel公众号 归并排序 归并排序是分而治之思想的典型应用。 1 你会学到什么?...
View ArticleBZOJ1008 [HNOI2008]越狱(洛谷P3197)
组合数学 BZOJ题目传送门 洛谷题目传送门 计算有多少种越狱情况很难。于是我们可以反着考虑:有多少种不越狱的情况。那么答案=总情况-不越狱的情况 不越狱满足相邻房间的宗教两两不相同。那么前一个房间选了一种,后面的房间就可以有m-1种选择。情况数是m∗(m−1)n−1。 总情况显然是mn。 然后两个减一下就行啦!快速幂算一下就可以。 代码: #include<cstdio>...
View ArticleBZOJ1574: [Usaco2009 Jan]地震损坏Damage
Description 农夫John的农场遭受了一场地震.有一些牛棚遭到了损坏,但幸运地,所有牛棚间的路经都还能使用. FJ的农场有P(1 <= P <= 30,000)个牛棚,编号1..P. C(1 <= C <= 100,000)条双向路经联接这些牛棚,编号为1..C. 路经i连接牛棚a_i和b_i (1 <= a_i<= P;1 <= b_i...
View Article洛谷P1137 旅行计划
拓扑排序 DP 题目传送门 首先进行拓扑排序,然后按照拓扑序进行DP 对于每个点,更新它指向点的DP值。即ans[ed[j].to]=max(ans[ed[j].to],ans[tp[i]]+1) 代码: #include<cstdio> #include<cstring> #include<algorithm> #define MAXN 100000...
View Article