last

The 2019 ACM-ICPC China Shannxi Provincial Programming Contest B. Product(杜教筛+约数)

匿名 (未验证) 提交于 2019-12-02 23:38:02
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ftx456789/article/details/91346129 题意 给你 n ( n ≤ 1 0 9 ) n(n\leq 10^9) n ( n ≤ 1 0 9 ) , m ( m ≤ 2 × 1 0 9 ) m(m\leq 2\times10^9) m ( m ≤ 2 × 1 0 9 ) , p ( p ≤ 2 × 1 0 9 ) p(p\leq 2\times10^9 ) p ( p ≤ 2 × 1 0 9 ) , p p p 为质数求 ∏ i = 1 n ∏ j = 1 n ∏ k = 1 n m g c d ( i , j ) [ k g c d ( i , j ) ] \prod_{i=1}^n\prod_{j=1}^n\prod_{k=1}^nm^{gcd(i,j)[k|gcd(i,j)]} i = 1 ∏ n j = 1 ∏ n k = 1 ∏ n m g c d ( i , j ) [ k g c d ( i , j ) ] ģ p p p 的答案 ˼· 我们先只考虑指数部分和欧拉降幂那么有 ∑ i = 1 n ∑ j = 1 n ∑ k = 1 n g c d ( i , j ) [ k g c d ( i , j ) ] m o d p 1 \sum_{i

Dubbo相关Filter分析

匿名 (未验证) 提交于 2019-12-02 23:38:02
关于Dubbo的Filter 具体如何组装参考如下: public class ProtocolFilterWrapper implements Protocol { private final Protocol protocol; public ProtocolFilterWrapper(Protocol protocol) { if (protocol == null) { throw new IllegalArgumentException("protocol == null"); } else { this.protocol = protocol; } } private static <T> Invoker<T> buildInvokerChain(final Invoker<T> invoker, String key, String group) { final Invoker<T> last = invoker; List<Filter> filters = ExtensionLoader.getExtensionLoader(Filter.class).getActivateExtension(invoker.getUrl(), key, group); if (filters.size() > 0) { for(int i = filters.size() -

阻塞队列(六):LinkedBlockingDeque

匿名 (未验证) 提交于 2019-12-02 23:36:01
阻塞队列(六):LinkedBlockingDeque 前面的BlockingQueue都是单向的FIFO队列,而LinkedBlockingDeque则是一个由链表组成的双向阻塞队列,双向队列就意味着可以从对头、对尾两端插入和移除元素,同样意味着LinkedBlockingDeque支持FIFO、FILO两种操作方式。 LinkedBlockingDeque是可选容量的,在初始化时可以设置容量防止其过度膨胀,如果不设置,默认容量大小为Integer.MAX_VALUE。 LinkedBlockingDeque LinkedBlockingDeque 继承AbstractQueue,实现接口BlockingDeque,而BlockingDeque又继承接口BlockingQueue,BlockingDeque是支持两个附加操作的 Queue,这两个操作是:获取元素时等待双端队列变为非空;存储元素时等待双端队列中的空间变得可用。这两类操作就为LinkedBlockingDeque 的双向操作Queue提供了可能。BlockingDeque接口提供了一系列的以First和Last结尾的方法,如addFirst、addLast、peekFirst、peekLast。 public class LinkedBlockingDeque < E > extends AbstractQueue

1046. Last Stone Weight

匿名 (未验证) 提交于 2019-12-02 23:34:01
1046. Last Stone Weight 方法1: multiset We have a collection of rocks, each rock has a positive integer weight. Each turn, we choose the two heaviest rocks and smash them together. Suppose the stones have weights x and y with x <= y. The result of this smash is: If x == y, both stones are totally destroyed; If x != y, the stone of weight x is totally destroyed, and the stone of weight y has new weight y-x. At the end, there is at most 1 stone left. Return the weight of this stone (or 0 if there are no stones left.) Example 1: Input: [2,7,4,1,8,1] Output: 1 Explanation: We combine 7 and 8 to get

yaml 操作

匿名 (未验证) 提交于 2019-12-02 23:32:01
要编写文件,需要打开YAML文件并写入句柄。 require 'yaml' config = YAML.load_file('data.yml') puts config['last_update'] #in my file this is set to "some data" config['last_update'] = "other data" File.open('data.yml','w') do |h| h.write config.to_yaml end 输出是 orcus:~ user$ ruby test.rb some data orcus:~ user$ cat data.yml --- last_update: other data

回文树学习笔记

匿名 (未验证) 提交于 2019-12-02 23:05:13
layout: post title: 回文树学习笔记 author: "luowentaoaa" catalog: true mathjax: true tags: - 回文树 首先,回文树有何功能? 假设我们有一个串S,S下标从0开始,则回文树能做到如下几点: 1.求串S前缀0~i内本质不同回文串的个数(两个串长度不同或者长度相同且至少有一个字符不同便是本质不同) 2.求串S内每一个本质不同回文串出现的次数 3.求串S内回文串的个数(其实就是1和2结合起来) 4.求以下标i结尾的回文串的个数 const int MAXN = 100005 ; const int N = 26 ; struct Palindromic_Tree { //cnt最后count一下之后是那个节点代表的回文串出现的次数 int next[MAXN][N] ;//next指针,next指针和字典树类似,指向的串为当前串两端加上同一个字符构成 int fail[MAXN] ;//fail指针,失配后跳转到fail指针指向的节点 int cnt[MAXN] ; //表示节点i表示的本质不同的串的个数(建树时求出的不是完全的,最后count()函数跑一遍以后才是正确的) int num[MAXN] ; //表示以节点i表示的最长回文串的最右端点为回文串结尾的回文串个数 int len[MAXN] ;//len

Python学习之路10-测试代码

匿名 (未验证) 提交于 2019-12-02 22:54:36
《Python编程:从入门到实践》笔记。 本章主要学习如何使用Python标准库中的unittest模块对代码进行简单的测试。 作为初学者,并非必须为你尝试的所有项目编写测试;但参与工作量较大的项目时,你应对自己编写的函数和类的重要行为进行测试。这样你就能够更加确定自己所做的工作不会破坏项目的其他部分,你就能够随心所欲地改进即有代码。如果不小心破坏了原来的功能,你马上就会知道,从而能够轻松地修复问题。相比于等到Bug出现后再去改,在测试未通过时采取措施要容易得多。而且,如果你想要分享你的项目,有测试的代码更容易让人接受。 以下是一个将用户输入的姓与名拼接的函数: # name_function.py def get_formatted_name (first, last) : """返回一个整洁的完整姓名""" full_name = first + " " + last return full_name.title() if __name__ == '__main__' : print( "Enter 'q' at any time to quit." ) while True : first = input( "\nPlease give me a first name: " ) if first == "q" : break last = input( "Please

Python 笔记 :12 代码测试

匿名 (未验证) 提交于 2019-12-02 22:51:30
代码测试:是通过代码测试函数,来把执行的结果,和用户预设的代码内容,进行比较! 格式:   import unittest #定义的类,要继承unittest.TestCase类   class Test_a(unittest.TestCase):     ...... #方法名,必须以test开头,下面的unittest.main( ),才可自动执行代码测试,否则不会执行     def test_first_last_name(self): #这里会把函数的返回值,和用户预设的结果,进行比较,如果相同,则通过测试,否则报错,并提示测试失败       self.assertEqual(代码执行的结果或调用的函数(有返回值),用户预设的结果(如:'Jimm Green')   unittest.main( ) 例子:  #判断用户输入的格式,是否符合格式要求 import unittest #定义一个函数,用来返回全部姓名:def get_formatted_name(first, last,middle=''): """Generate a neatly formatted full name.""" #如果有middle有值,则输出middle,否则不输出middle if middle: full_name = first + ' ' + middle + ' ' +

SGI STL泛型heap算法分析

无人久伴 提交于 2019-12-02 22:16:50
heap性质 heap本质是用一个数组表示的完全二叉树,并且父节点总是大于(或者小于)子节点的值。在STL中用于实现优先队列(priority_queque)。堆排序是排序算法中是稳定效率最高的一种。STL以可以动态扩容的vector作为heap的底层数组。 push_heap分析 为满足完全二叉树的条件,新加入元素一定要放在最下一层作为叶子节点,并填补由左至右的第一个空格,也就是把新元素插入到底层vector的end()处。下图是push_heap算法的实际示意图: 从图中可以看出push_heap算法的过程是将新加入堆的值(50),层层上挪,直到正确的位置。下面是该过程的源码: template <class RandomAccessIterator, class Distance, class T> void __push_heap(RandomAccessIterator first, Distance holeIndex, Distance topIndex, T value) { Distance parent = (holeIndex - 1) / 2; //找出父节点 while (holeIndex > topIndex && *(first + parent) < value) { //尚未到达顶端且父节点小于洞值,使用operator<,知max-heap *

MYSQL-基于GTID进行时间点恢复

匿名 (未验证) 提交于 2019-12-02 22:06:11
基于mysqlgtid 进行时间点恢复 要求:恢复到tybdata deposit_activity 表10月7日04:59:59 1:选择10月6日的完全备份恢复到另外一个库,过程略. 2:找到10月7日4点到5点的binlog文件,解析gtid位置: - rw - r -----. 1 mysql mysql 1073742964 Oct 7 01 : 00 mysql_bin . 002564 - rw - r -----. 1 mysql mysql 1073742134 Oct 7 02 : 17 mysql_bin . 002565 - rw - r -----. 1 mysql mysql 1073742368 Oct 7 03 : 55 mysql_bin . 002566 - rw - r -----. 1 mysql mysql 1073742307 Oct 7 05 : 43 mysql_bin . 002567 ---->解析该 binlog - rw - r -----. 1 mysql mysql 1073743162 Oct 7 08 : 15 mysql_bin . 002568 - rw - r -----. 1 mysql mysql 1073743188 Oct 7 09 : 33 mysql_bin . 002569 - rw - r ---